我一直在与 while 循环作斗争,因为它们几乎不适合我。它们总是导致我的 Unity3D 应用程序冻结,但在这种情况下,我真的需要它来工作:
bool gameOver = false;
bool spawned = false;
float timer = 4f;
void Update ()
{
while (!gameOver)
{
if (!spawned)
{
//Do something
}
else if (timer >= 2.0f)
{
//Do something else
}
else
{
timer += Time.deltaTime;
}
}
}
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望这些 if 语句在游戏运行时运行。现在它使程序崩溃,我知道这是 while 循环的问题,因为它在我取消注释的任何时候都会冻结。