OnClick原本只要在屬性面板中新增點擊事件的腳本,就可以讓場景中的各個按鈕被點擊時能有不同的功能,當然直接透過屬性面板新增非常方便,但總是有無法這麼做的時候,例如該按鈕的功能無法在執行前得知,這時就可以使用OnClick下的AddListener。
using UnityEngine; using UnityEngine.UI; public class AddListTest : MonoBehaviour { private Button button; void Start () { button = GetComponent<Button>(); button.onClick.AddListener(delegate () { ClickTest("AddListener test."); }); } void ClickTest(string s) { Debug.Log(s); } }以上是一個在按鈕下新增函式的腳本,透過AddListener,新增ClickTest函式,同時傳入字串AddListener test.,執行結果如下;
再來新增看看複數的點擊事件;
using UnityEngine; using UnityEngine.UI; public class AddListTest : MonoBehaviour { private Button button; void Start () { button = GetComponent<Button>(); button.onClick.AddListener(delegate () { ClickTest("AddListener test."); ColorChange(Color.red); }); } void ClickTest(string s) { Debug.Log(s); } void ColorChange(Color color) { GetComponent<Image>().color = color; } }新增改變顏色的事件,結果如下;
以上是AddListener的功能介紹,今天就到這裡。
沒有留言:
張貼留言