物体关闭之后协程被强制终止
问题描述:
在完成一个项目时,想要实现当start执行之后下一帧再继续执行某些操作,于是就开了个协程来等待一帧,但是当我尝试这样做的时候却发现 yield return null 之后的代码都没有实现。
原因:
这个物体会在游戏开始后马上被关闭了,生命周期停止,从而导致协程也被强制终止了,没有继续执行剩下的操作。
解决方法:
使用Invoke来进行等待。
总结:
协程(Coroutine)会在物体被禁用时强制停止,而Invoke 不会。但是,如果只是将脚本禁用了,由于物体的生命周期没有停止,所以协程仍然能够继续执行。当然Invoke在这两种情况下都可以正常执行。