1. 程式人生 > >Unity3D之UI按鍵繫結事件案例(七)

Unity3D之UI按鍵繫結事件案例(七)

七、多個按鍵事件存在的時候怎麼區分,怎麼同時繫結事件,下面的案例可以給出答案

第一步:通過Hierarchy面板建立多個button


第二步:建立一個名為Buttons的指令碼,程式碼如下

public class MyEventArgs
{
public int id;
public GameObject obj;
}
public class Buttons : MonoBehaviour {

Button[] buttons;

void Start () {
buttons = GetComponentsInChildren<Button>();
for (int i = 0; i < buttons.Length; i++)
{
MyEventArgs args = new MyEventArgs();
args.id = i + 1;
args.obj = buttons[i].gameObject;
buttons[i].onClick.AddListener(
() => OnButtonClick(args));
}
}//Start ()_end
public void OnButtonClick(MyEventArgs args)
{
Debug.Log(args.id);
}

第三步,繫結Canvas指令碼到Button上如圖


然後執行點選按鈕就能看到執行的結果了。