質問内容を再確認したところ、手順には問題がなさそうに見えます。
いったん下記は取り消します。こちらでも確認してみます。
~~プレハブにしてHierarchyビューから削除すると、自分のゲームオブジェクトでないものに対するインスペクターからの参照は外れてしまうようです。
自分の(Buttonの)ゲームオブジェクトに対象のスクリプトをアタッチした状態で同じ設定を試してみてください。
~~
【追記1】
やはり質問内容の手順で問題なさそうに見えますね。
こちらで確認してみましたが、問題はありませんでした。
下図のように、OnClickの欄にドラッグ&ドロップでスクリプトをアタッチしています。
【追記2】
参考動画
【追記3】
なかなか解決しないようなので、参考までに別のやり方を紹介しておきます。
ButtonのインスペクターのOnClick欄を使わなくても、以下のようにスクリプトを書くことでボタンクリック時の処理を呼び出すことができます。
スクリプト内の【参考】の箇所のとおりです。
C#
1using UnityEngine;
2using UnityEngine.UI;
3
4public class ButtonTest : MonoBehaviour
5{
6 private Text text;
7 private int value = 0;
8
9 private void Start ()
10 {
11 text = GameObject.FindWithTag ( "TextField" ).GetComponent<Text> ();
12
13 // 【参考】このようにすれば、インスペクターのOnClick欄を使わなくても処理できる
14 Button button = GetComponent<Button>();
15 button.onClick.AddListener ( () =>
16 {
17 // このカッコ内にボタンクリック時の処理を書く
18
19 Clicked();
20 } );
21 }
22
23 // ボタンクリック時の処理の例(メソッド名や処理内容は任意)
24 private void Clicked ()
25 {
26 value++;
27 text.text = value.ToString ();
28 }
29}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/29 05:36
2018/04/29 05:40
2018/04/29 05:56