Unity 按鈕添加OnClick事件操作
1、在Hierarchy面板右鍵UI>Button
2、創建一個空物體
3、創建一個腳本 ButtonClick.cs,定義一個Click方法(必須為Public)
4、把腳本掛在到空物體上
5、將空物體拖到如下圖 None(Object) 位置
6、在右側選擇 ButtonClick>Click 方法
7、如下
補充:Unity三種添加Click事件
我就廢話不多說瞭,大傢還是直接看代碼吧~
public Button btn; void Start () { // 一、btn.onClick.AddListener(OnBtnClick); // 二、btn.onClick.AddListener(delegate () { OnBtnClick(); }); btn.onClick.AddListener(() => { OnBtnClick(); }); } void OnBtnClick() { Debug.Log("0000"); }
補充:Unity UGUI 動態添加Button.OnClick()事件
如下所示:
using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEngine.Events; using UnityEngine.UI; public class ButtonOnClickTest: MonoBehaviour { // Use this for initialization void Start () { List<string> btnsName = new List<string>(); btnsName.Add("BtnPlay"); btnsName.Add("BtnShop"); btnsName.Add("BtnLeaderboards"); foreach(string btnName in btnsName) { GameObject btnObj = GameObject.Find(btnName); Button btn = btnObj.GetComponent<Button>(); btn.onClick.AddListener(delegate() { this.OnClick(btnObj); }); } } public void OnClick(GameObject sender) { switch (sender.name) { case "BtnPlay": Debug.Log("BtnPlay"); break; case "BtnShop": Debug.Log("BtnShop"); break; case "BtnLeaderboards": Debug.Log("BtnLeaderboards"); break; default: Debug.Log("none"); break; } } // Update is called once per frame void Update () { } }
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- None Found