我在Unity 5.3中为foreach循环中的一些按钮添加事件侦听器。
foreach (Button btn in buttons)
{
btn.onClick.AddListener(() => levelBtnClicked());
}
如何获取被单击按钮的按钮引用?因此,我可以在levelBtnClicked函数中检查按钮的属性。
使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);
}