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("测试成功!!");
}

上一篇:[iTyran原创]iPhone中OpenGL ES显示3DS MAX模型之二:lib3ds加载模型


下一篇:iOS9 白名单问题 -canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query for scheme xx"