Unity中Button按鈕的觸發監聽事件


第一種方式:需要把自己添加的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("測試成功!!");
}


免責聲明!

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



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