自定义协程

难点
  • 自己写了一遍协程,困难的地方在于unity中的执行顺序
  • 突然发现unity里面可以 yield return 的其实有很多
WaitForSeconds
WaitForSecondsRealtime
WaitForEndOfFrame
WaitForFixedUpdate
WaitUntil
WaitWhile
IEnumerator(可以用于协程嵌套)
  • 就单纯拿WaitUntil来说,他是在yield return的这一帧就执行了,还是在下一帧才开始执行呢?
  • 要是WaitUntil直接返回true的话会是怎样的运行结果
  • 协程嵌套又该如何实现
这是我测试Unity协程后的结论
  1. unity会先递归获得Wait对象,并在当前帧执行一次Wait对象
  2. 如果这个Wait对象运行结束,那就置为空,留到下一帧获取新的Wait对象
  3. 在下一帧,Wait对象不为空,先执行Wait对象,如果结束了,就在当前帧重复1,Wait对象为空,直接回到1

项目地址

猜你喜欢

转载自blog.csdn.net/qq_33574890/article/details/132389929