Unity3D Button組管理(給按鈕的onclick事件“傳遞參數”)


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

// 利用委托來進行按鈕組的管理
public class test07 : MonoBehaviour {
// 腳本掛在一個Canvas上,其子物體上有兩個Button:Button 喝 Button(1)
delegate void argument(string str);
void Start () {
argument arg = new argument(test);
arg = arg + test1;
for (int i = 0; i < gameObject.GetComponentsInChildren<Button>().Length; i++)
{
Button btn = gameObject.GetComponentsInChildren<Button>()[i];
btn.onClick.RemoveAllListeners();
btn.onClick.AddListener(() =>
{
if(arg != null){
arg(btn.name);
}
});
}
}

void onclicked(){

}
public void test(string str){
switch(str){
case "Button":
print("button");
break;
case "Button(1)":
print("button");
break;
default: print("nothing");
break;
}
}
public void test1(string str)
{
print(str);
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM