我一直在改动Unity 2D项目中主要的Gameplay.cs脚本代码部分,不管我怎么修改和调整它,都会导致Unity在播放时锁定,或者经过一些调整后立即从第0波进入第9波。这是我的最初尝试,它会导致Unity在播放时冻结。我不明白为什么会出现这种情况,并希望了解我的逻辑错误在哪里。
我试图实现以下内容:
我试图实现以下内容:
- 播放时,游戏等待startWait秒钟。
- 等待 startWait 后,游戏进入 SpawnWaves() 方法,并在每个波之间等待 waveWait 秒,并在每个波期间将波计数增加1。
- 每个波生成 zombieCount 数量的敌人,并等待每个僵尸生成之间的 spawnWait 秒。
private float startWait = 3f; //Amount of time to wait before first wave
private float waveWait = 2f; //Amount of time to wait between spawning each wave
private float spawnWait = 0.5f; //Amount of time to wait between spawning each enemy
我是一名初学者,了解到我的代码可能不符合最佳实践。我也有一个使用协程和yield返回的工作敌人生成器,但我希望使这个版本的敌人生成器工作。
yield return new WaitForSecondsRealtime
,以便在将时间缩放更改为零后,游戏仍然可以继续运行。 - Bizhan