前提・実現したいこと
動的に生成したボタンを並べたくて、こちらの質問をした者です。
以下のような感じでボタンを並べることができたのですが、
どのボタンが押されたかの判定をしたいです。
➀➁➂
➃⑤⑥
⑦⑧⑨
:
例えば、➀のボタンを押したらAのページ、
➂のボタンを押したらCのページ、という風にボタンごとに遷移先を変えたいです。
発生している問題・エラーメッセージ
プレハブ用の関数とは別に、ボタン判定用の関数を作ったのですが、hogebutton.textの値が引き継げず困っています。 具体的には、一番最後に生成したボタンのテキストだけを保持していて、どのボタンを押しても最後のボタンのテキストを返してしまいます。 またthis.GetComponentInChildren<Text>();と新たに設定しても NullReferenceException: Object reference not set to an instance of an object .Debug.Log(hogebutton2.text);の行 とエラーが出ました...
該当のソースコード
C#
1public void PrefabButton() 2 { 3 for (int i = 0; i < 5; i++ ) 4 { 5 var obj = Instantiate(hogehoge, canvas.transform) as GameObject; 6 var hogebutton = obj.GetComponentInChildren<Text>(); 7 hogebutton.text = i.ToString(); 8 } 9 } 10 } 11public void ButtonPushed() 12 { 13 Debug.Log(hogebutton.text); 14 15 hogebutton2 = this.GetComponentInChildren<Text>(); 16 Debug.Log(hogebutton2.text); 17 } 18
試したこと
this.で押したボタンをとれると思ったのですが、できませんでした。。
補足情報(FW/ツールのバージョンなど)
unity 2020
windows
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/06 06:57
2022/01/06 09:14
2022/01/07 16:53