Unity

【Unity】ボタンのOnClickイベント一覧に自作関数が表示されない

こんにちは、コン(@pippi_kon)です。

この記事では、『ボタンのOnClickイベント一覧に自作関数が表示されない時の対処方法』をご紹介します。

私が陥った現象

UnityでCanvasにButtonを配置し、ボタンが押された時のイベント(OnClick)に自作関数を割り当てようとしたところ、何回やっても自作関数が一覧に表示されなかったのです。

プログラムコードにエラーはありません。

試しにStart()に「Debug.Log(“Hello”);」と入力して実行したら、ちゃんとConsoleに”Hello”と表示されましたので。

本現象に陥ったときの手順は以下の通り。

  1. OnClick()の「+」を押す。
  2. 「None(Object)」にC#Scriptを割り当てたゲームオブジェクトを指定。
  3. 「No Function」をクリックしてゲームオブジェクト名の中から自作関数を探す。

本来であれば、③で自作関数が見つかるはずなのに見つからない。

 

原因

一覧に表示されなかった原因はプログラムコードにありました。

具体的には関数宣言に「public」がついていなかったため。

修正前サンプル
void PushStartButton(){
    SceneManager.LoadScene("GameScene");
}

 

修正後サンプル
public void PushStartButton(){
    SceneManager.LoadScene("GameScene");
}

 

プログラムを修正することで無事自作関数を表示することができました!

 


最後に

今回は、『ボタンのOnClickイベント一覧に自作関数が表示されない時の対処方法』をご紹介しました。

対処方法
  • 自作関数に「public」をつける

 

created by Rinker
¥2,750
(2024/11/12 10:41:16時点 Amazon調べ-詳細)

created by Rinker
¥5,980
(2024/11/12 10:41:18時点 Amazon調べ-詳細)

ABOUT ME
コン
自分のやりたいことでお金を稼げる生活に憧れて脱サラ。 アプリ開発やブログ運営をしながらのんびり暮らしています。