Unity UGUI點選不同Button執行不同的方法(無參方法)
阿新 • • 發佈:2019-02-03
將指令碼隨意掛在任何位置 但是這個btnParent一定是 按鈕的父節點
指令碼很簡單自己敲一遍就全都明白了
上指令碼 OnClickTest
using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; public class OnClickTest : MonoBehaviour { //所有Button的父節點 public Transform btnParent; private Button[] btns; void Start () { //初始化陣列長度 btns = new Button[btnParent.childCount]; //便利父節點下所有的按鈕 for (int i = 0; i < btns.Length; i++) { //賦值按鈕 btns[i] = btnParent.GetChild(i).GetComponent<Button>(); //為按鈕新增點選事件 btns[i].onClick.AddListener(OnClick); } } /// <summary> /// 按鈕點選事件 /// </summary> private void OnClick() { //按下時 判斷當前點選的按鈕的名字 string btnName = EventSystem.current.currentSelectedGameObject.GetComponent<Button>().name; print("當前按鈕是: " + btnName); } }
效果