【发布时间】:2019-09-23 21:44:42
【问题描述】:
我有一个 for 循环,当我遍历一个数组时,我只需要调用一次。
public void ChangeClassButton()
{
Debug.Log("Changed Class");
for (int i = 0; i < activeDrum.Length && !changeClassBool; i++)
{
Debug.Log(activeDrum[i]);
changeClassText.text = activeDrum[i];
OscMessage oscM = Osc.StringToOscMessage("/changeClass" + i);
Debug.Log(Osc.OscMessageToString(oscM));
oscHandler.Send(oscM);
changeClassBool = true;
if (i >= activeDrum.Length)
{
i = 0;
}
}
}
我有一个单独的函数将 changeClassBool 在设定的时间后设置回 false。
我试图在按下按钮时进行迭代,但是当我在游戏中按下按钮时,它只会迭代整个数组。关于我做错了什么有什么建议吗?
【问题讨论】:
-
不完全确定你在这里问什么。如果你不想要一个循环,你不能简单地删除循环吗?或者您是在问如何让按钮一次完成一项迭代?
-
您想一直迭代到 i = 0 还是每次点击都会使 i 增加 1?
-
如果您不点击按钮,那么
activeDrum.Length是什么? changeClassBool 的价值是什么?
标签: c# for-loop unity3d boolean