协程跟Update()其实一样的,都是Unity每帧对会去处理的函数。如果MonoBehaviour 是处于激活(active)状态的而且yield的条件满足,就会去执行协程方法的后面代码。
还可以发现:如果在一个对象的前期调用协程,协程会立即运行到第一个 yield return 语句处,如果是 yield return null ,就会在同一帧再次被唤醒。如果没有考虑这个细节就会出现一些奇怪的问题
简单的说,协程就是一种特殊的函数,它可以主动的请求暂停自身并提交一个唤醒条件,Unity会在唤醒条件满足的时候去重新唤醒协程。
而,我们使用协程管理器,则可以脱离MonoBehove去使用。其原理主要还是使用一个While循环,去手动遍历迭代器,当迭代器遍历完之后则结束循环。
协程管理器
最新推荐文章于 2024-01-02 10:36:20 发布