void Start()
{
ClosureTest();
}
public Button[] btn;
private void ClosureTest()
{
for (int i = 0; i < 5; i++)
{
int num = i; //如果不在使用btn回调前声明一个变量,并把i的值赋过去,i就会永远变成5..
btn[i].onClick.AddListener(() =>
{
Debug.Log(num);
});
}
}
Unity回调时可能会遇到的闭包的情况
于 2022-02-10 15:22:29 首次发布