質問: こちらの質問で回答を頂いて、早速実装してみました。 ProjectからHierarchyに入れることはできたのですが、そのPrefabの一部であるボタンのOnClick()内容が空になっていました(おそらくそれが普通だと思うのですが)。 ### 聞きたいこと C#スクリプトからボタンのOnClick()内容を変更する方法を教えてください。お願いします。 また、ボタンのOnClick()が空だったらtrueを返すにはどうすればいいのでしょうか。こちらもお願いいたします。
回答: プレハブから動的に生成するボタンのことだというのを見落としていたので、回答内容を大幅に書き換えました。 プレハブ化したボタンのゲームオブジェクトに、以下のように設定してください。 まずはボタンを押したときの処理をスクリプトに書いて、~~適当な~~**ボタンと同じ**ゲームオブジェクトにアタッチします。 プレハブ化すると、他のゲームオブジェクトへの参照は外れてしまうためです。 ``` using UnityEngine; public class ButtonController : MonoBehaviour { // ボタンが押されたときに実行したい処理を書く public void ButtonMethod () { print ( "こんにちは" ); } } ``` あとはボタンのインスペクターで下図の箇所を設定してください。 * OnClick の右下の + ボタンをクリックして設定欄を追加する * 下図のように、**ボタンと同じゲームオブジェクト**にアタッチされたスクリプトをドラッグアンドドロップで設定する * Runtime Only の横の欄で、呼び出すメソッドを選択する !イメージ説明