【发布时间】:2020-10-19 06:56:31
【问题描述】:
我正在处理一个大按钮列表,并尝试使用快速方式为该列表中的每个按钮 AddListener()
第一种方法是
btn[0] = CHbutt[0].GetComponent<Button>(); btn[0].onClick.AddListener(delegate { CH(0); });
btn[1] = CHbutt[1].GetComponent<Button>(); btn[1].onClick.AddListener(delegate { CH(1); });
btn[2] = CHbutt[2].GetComponent<Button>(); btn[2].onClick.AddListener(delegate { CH(2); });
btn[3] = CHbutt[3].GetComponent<Button>(); btn[3].onClick.AddListener(delegate { CH(3); });
它工作得很好,AddListener() 到btn[] 中的所有按钮;
但是很多台词...
第二种方式
for (int i = 0; i < CHmatt.Count; i++)
{
btn[i] = CHbutt[i].GetComponent<Button>(); btn[i].onClick.AddListener(delegate { CH(i); });
}
但是这个不起作用,这个AddListener()只到最后一个按钮btn[0]
我很好奇这两个脚本的区别。
【问题讨论】: