协程的官方定义是一种具有暂停执行并将控制权返回给Unity,待下一帧时继续执行。通俗点讲就是,协程是一种可以分部执行的函数,即该函数不是每次调用时都会执行函数体内的全部方法,而是只调用其中部分代码。写到这里不知道您有没有发现,该定义有点像IEnumerator的延迟执行。举一个例子:
void Start () { IEnumerator numbers = YieldThreeNumbers (); for (int i = 0; i < 3; i++) { if(!numbers.MoveNext()) break; Debug.Log((int)numbers.Current); } } IEnumerator YieldThreeNumbers() { yield return 1; yield return 2; yield return 3; }