為Unity3D的按鈕添加事件有三種方式,假設我們場景中有一個Canvas對象,Canvas對象中有一個Button對象。
方式一:
創建腳本ClickObject.cs,然后將腳本添加到Canvas對象上,腳本如下:
1 using UnityEngine; 2 using System.Collections; 3 using UnityEngine.UI; 4 using UnityEngine.Events; 5 6 public class ClickObject : MonoBehaviour 7 { 8 void Start () 9 { 10 //獲取按鈕游戲對象 11 GameObject btnObj = GameObject.Find ("Canvas/Button"); 12 //獲取按鈕腳本組件 13 Button btn = (Button) btnObj.GetComponent<Button>(); 14 //添加點擊偵聽 15 btn.onClick.AddListener (onClick); 16 } 17 18 void onClick () 19 { 20 Debug.Log ("click!"); 21 } 22 }
方式二:
腳本同樣添加到Canvas對象上,如下:
1 using UnityEngine; 2 using System.Collections; 3 using UnityEngine.UI; 4 using UnityEngine.Events; 5 6 public class ClickObject2 : MonoBehaviour 7 { 8 void Start () 9 { 10 //獲取按鈕游戲對象 11 GameObject btnObj = GameObject.Find ("Canvas/Button"); 12 //獲取按鈕腳本組件 13 Button btn = (Button) btnObj.GetComponent<Button>(); 14 //添加點擊偵聽 15 btn.onClick.AddListener (delegate() { 16 onClick(btnObj); 17 }); 18 } 19 20 void onClick (GameObject obj) 21 { 22 Debug.Log ("click: " + obj.name); 23 } 24 }
方式三:
之前的方式都是使用代碼添加,下面的這個方式則是直接在編輯器中進行操作:
我們找到Button游戲對象,找到其Button代碼組件,在組件最下方有一個“On Click ()”的區域,點擊該區域的“+”號,可以添加一個觸發項,觸發項前面可以選擇一個任意的游戲對象,當選擇了游戲對象之后后面就可以選擇該對象上的一個任意方法,選擇好之后,當我們點擊了該按鈕對象之后就會調用到選擇的游戲對象的制定方法。
該方式太簡單就不寫示例代碼了。
天道酬勤,功不唐捐!