Unity3D之UI按鍵繫結事件案例(七)
阿新 • • 發佈:2019-02-07
七、多個按鍵事件存在的時候怎麼區分,怎麼同時繫結事件,下面的案例可以給出答案
第一步:通過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上如圖
然後執行點選按鈕就能看到執行的結果了。