AddEventlistner,获取对象引用的单击按钮

时间:2016-04-13 14:58:00

标签: c# unity3d event-handling unity5.3

我将eventlisteners添加到Unity 5.3中foreach循环中的某些按钮。  foreach(按钮中的按钮btn)  {     btn.onClick.AddListener(()=> levelBtnClicked());  } 如何获得单击按钮的按钮引用?所以我可以在levelBtnClicked函数中检查按钮的属性。

1 个答案:

答案 0 :(得分:0)

levelBtnClicked函数以Button作为参数,然后在循环期间将每个Button实例中的传递转换为参数。

Button[] buttons;

void Start()
{
    foreach (Button btn in buttons)
    {
        btn.onClick.AddListener(() => levelBtnClicked(btn));
    }
}

void levelBtnClicked(Button buttonClicked)
{
buttonClicked.image = ......
buttonClicked.name....
Debug.Log("Button Clicked: "+buttonClicked.name);
}