UGUI Toggle onValueChanged事件統(tǒng)一管理

在本文,你將學(xué)到如何將UGUI Toggle的onValueChanged事件進(jìn)行統(tǒng)一管理。

代碼塊:

using UnityEngine.EventSystems;
public class UIManager : MonoBehaviour {
public Toggle[] Toggles; //滑塊集合
private void Start()
{
     foreach (var item in Toggles)
     {
          item.onValueChanged.AddListener( ifselect => { if (ifselect) OnToggleValueChanged(item); });
     }
 }
 
// 同一管理Toggle,Toggle發(fā)生改變執(zhí)行相應(yīng)的事件
private void OnToggleValueChanged(Toggle item)
{
       switch (item.name)
        {
            case "01":
                Debug.Log("第一:"+item.name );
                break;
            case "02":
                Debug.Log("第二:" + item.name );
                break;
       }
    }
}

Debug數(shù)據(jù):

測(cè)試效果

小技巧

有人問(wèn) Toggle 的事件在 Inspector 上怎么添加,其實(shí),也挺簡(jiǎn)單的:
方案一:
在希望接受這個(gè)事件的腳本里寫(xiě)一個(gè)帶 bool 參數(shù)的方法,然后就能在這找到他了
代碼:

public void TestFunction(bool value) { }

效果:



注意:
上圖不是被一個(gè)大大的空隙隔開(kāi)了么,然后在下面也能看到同一個(gè)方法名的選項(xiàng),不要選他,筆者估計(jì)大家很多困惑來(lái)自選了它吧~


不要選他

方案二:
直接指向一個(gè) bool 類(lèi)型的 屬性也是可以的,形如:
代碼:

public bool TestAttribute{get;set;}

效果:



這也不意外畢竟 屬性 實(shí)質(zhì)上是一組 getter setter 方法的組合。


標(biāo)簽:Unity3D、UGUI、Toggle、EventSystem、OnToggleValueChanged、AddListener

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容