已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。
23天前关闭。
Improve this question
1.总结问题
下面的循环继续运行,我想,但总是给予我同样的点击按钮是“0”。它没有给我一个错误。但通过玩游戏,我可以看到,它总是相同的数字。
2.描述您尝试过的方法
我试着在网上搜索像我这样的人,但遗憾的是我什么都找不到。
3.显示一些代码
我说的代码。
int ButtonNum;
public void Start()
{
for (int i = 0; i < ButtonsPage.Length; i++)
{
ButtonsPage[i].GetComponent<Button>().onClick.AddListener(delegate { ButtonClicked(ButtonNum); });
}
}
public void ButtonClicked(int i)
{
Debug.Log("Clicked" + i);
if (WhichType == "Nose")
{
NoseColor.sprite = NosesColor[i];
NoseOutline.sprite = NosesOutline[i];
}
//ButtonNum will be used to say which one is clicked. Still haven't add it though cause i wanted to fix this problem before
}
1条答案
按热度按时间kulphzqa1#
您没有以任何方式修改
ButtonNum
,我假设目标是使用i
作为按钮编号,请尝试将代码更改为:由于C#中closures work的方式,需要临时变量。