2018年1月8日 星期一

使用腳本在OnClick下新增事件的方法

今天要是提的是在OnClick新增點擊事件的方法。
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的功能介紹,今天就到這裡。

沒有留言:

張貼留言

【自製小遊戲】水平思考猜謎(海龜湯)

遊戲連結 海龜湯的玩法是由出題者提出一個難以理解的事件,參與猜題者可以提出任何問題以試圖縮小範圍並找出事件背後真正的原因。但出題者僅能以「是」、「不是」或「沒有關係」來回答問題。 本遊戲蒐集各種論壇、平台的42個題目,提供給想玩海龜湯卻愁找不到題目的你們。 ...