为什么我的游戏在协程内部冻结?

时间:2018-12-31 22:09:17

标签: unity3d while-loop coroutine

很抱歉,如果这个问题很基本。我创建了一个协程,每5秒检测一次冲突。在此协程内部,我想执行动画3秒钟,所以我想到了以下代码:

f.close()

我在while循环中记录了经过的时间,而with似乎没有更新。结果,经过的时间等于0,而我的while循环永不退出。此外,由于这是在应该同时运行的协程中执行的,所以我不明白为什么不存在的while循环会冻结整个游戏。

高度赞赏澄清。

1 个答案:

答案 0 :(得分:2)

来自Time.time上的Unity docs

  

此帧开始的时间(只读)

这意味着您的Time.time在循环过程中不会改变,因此currentTimemadBegin之间的差将始终为0。

Time.realtimeSinceStartup可能就是您想要的。

相关问题