第一種方式:需要把自己添加的Button按鈕屬性(Inspector)中的(Button)onclick添加方法。
public void BtnCreteClick()
{
Debug.Log("一切正常!!");
}
第二種方式:把自己添加的Button按鈕拖到代碼所在的物體下和不拖Button按鈕的代碼如下。
//拖動Button按鈕執行的代碼如下
public GameObject btnPrint;
Button btn = btnPrint.GetComponent<Button>();
btn.onClick.AddListener(delegate
{
this.BtnTestClick(btnPrint);
//Debug.Log("委托成功!!");
});
void BtnTestClick(GameObject btn)
{
Debug.Log("測試成功!!");
}
//不拖動Button按鈕執行的代碼如下
private GameObject btnPrint;
btnPrint = GameObject.Find("Canvas/Button");
btnPrint.GetComponent<Button>().onClick.AddListener(delegate
{
Debug.Log("測試成功!!");
});
第三種方式:使用Lambda 表達式實現
private GameObject Button;
Button = GameObject.Find("Canvas/Button");
Button.GetComponent<Button>().onClick.AddListener(() =>
{
BtnTestClick(Button);
//Debug.Log("Lambda 表達式測試正常");
});
void BtnTestClick(GameObject btn)
{
Debug.Log("測試成功!!");
}