【Unity】ボタンにクリックイベントをコードで動的に追加

1548 ワード

質問:多くの場合、UGUIのButtonコントロールのOnClick()リストで、このボタンをクリックするとトリガーされるコールバックを示すことができます.カスタムスクリプトを呼び出す方法として、このスクリプトをButtonが属するCanvasに掛けると、Canvasに入力された参照は正常に呼び出すことができますが、このButtonが属する物体をプリフォームとする場合、なぜプリフォームがCanvasの参照を保存できないのか、コードでボタンにクリックコールバックを追加することを考えます.using UnityEngine; using System.Collections; using UnityEngine.UI; /// /// /// public class BtnCallBackTest : MonoBehaviour { public Button startBtn; // // Use this for initialization void Start () { startBtn.onClick.AddListener(delegate() { Debug.Log("test!"); }); } // Update is called once per frame void Update () { } }
注意点:
  • ボタンにリスニングを追加する場合、受信する必要があるのはdelegateオブジェクトなので、呼び出すクラスのメソッドをdelegateでカプセル化します.

  • 重要な参考:
    http://www.tuicool.com/articles/nyeqie