当在协程内部停止自身后,后面的代码块还会继续执行,直到遇到yield语句才会终止. 经测试:停止协程,意味着就是停止yield,所以在停止协程后,yield之后的语句也就不会执行了. 代码如下: using UnityEngine; using System.Collections; public class Test : MonoBehaviour { void Start () { StartCoroutine("Method"); } IEnumerator Method() {
Unity协程(Coroutine)原理深入剖析 By D.S.Qiu 尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com 其实协程并没有那么复杂,网上很多地方都说是多线程什么的,真是误人子弟..在传统实时游戏中,在update中要延迟执行一些代码,或者满足一定条件后执行一些代码.需要在update添加一个计时器,用当前时间来减去前面记录的时间来判断执行.当这种情况越来越多的时候,会添加很多变量和代码,代码就越来越乱..实时游戏写多了就知道..这时候一般会抽象一个