Unityで画面に設置したボタンのクリックイベントをコードから追加する方法についてのメモ。
今までは「Hierarchy」からボタンを選択して、OnClickにボタンを押した時のメソッドを追加していました。
これでも、いいっちゃいいし、今までこれでやってきていたのですが、
最近、ボタンを大量に使う画面を作成することがありまして、上記の方法だと大量にボタンがある場合に結構大変でした。
(一つ一つのボタンにクリックイベントを追加しなくちゃいけない)
調べてみたら、コードからButtonにクリックイベントを追加する方法があったので、今後はこの方法でクリックイベントを追加しようと思います。
【Unity】ボタンのクリックイベント をコードから追加する方法
ボタンにコードでクリックイベントを追加する場合は以下のようなスクリプトをButtonに追加すればOKです。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class TestButton : MonoBehaviour { // Start is called before the first frame update void Start() { GetComponent<Button>().onClick.AddListener(Select); } public void Select() { Debug.Log("Select "); } }
初期化のタイミングで、onClickにイベントを追加すれば、「Hierarchy」上からクリックイベントを追加するのと同じことができるので、大量のボタンを用意するようなUIであってもクリックイベントを一個一個追加する必要がなくなるのでおすすめです。