是吧不知道你什么感觉,反正峩觉得还是需要深入研究一下的。OKhere we go!
意思是:一个unity 协程 返回值的执行可以在任何地方用yield语句来暂停,yield return的值决定了什么时候unity 协程 返回值恢复执行unity 协程 返回值在协调在几帧中执行的操作时有极大的用处.unity 协程 返回值几乎没有任何性能开销。
StartCoroutine一般都会立即返回然而你也可以獲得返回结果的值。但是这一步会等到unity 协程 返回值结束执行才能生效
OK,意思应该不难理解根据他的意思我们来分析一段程序。
这下就┅目了然了当StartCoroutine刚调用的时候,可以理解为正常的函数调用然后接着看调用的函数里面。
当被调用函数执行到yield return null;(暂停unity 协程 返回值等待下一帧继续执行)时,根据Unity解释协同程序就会被暂停其实我个人认为他这个解释不够精确,先返回开始unity 协程 返回值的地方然后再暂停unity 协程 返回值。也就是先通知调用处“你先走吧,不用管我”然后再暂停unity 协程 返回值。怎么?不信那我们再写个demo验证一下。
正好順便验证了“yield return的值决定了什么时候unity 协程 返回值恢复执行”这句其实yield return后面的值可以后很多用法,可以看这个帖子:
其实再回过头来想想unity 協程 返回值->协同程序->其实就是协同两个任务,表面看起来很简单但是在一些稍微大点的项目中用起来,对于新手来说还是会有些晦涩。