我明白协程的原理。我知道如何让标准的 StartCoroutine
/yield return
模式在 Unity 中的 C # 中工作,例如,调用一个通过 StartCoroutine
返回 IEnumerator
的方法,在这个方法中做一些事情,做 yield return new WaitForSeconds(1);
等待一秒钟,然后做其他事情。
我的问题是: 幕后到底发生了什么?StartCoroutine
到底是做什么的?IEnumerator
返回的是什么?StartCoroutine
如何将控制返回到被调用方法的“其他部分”?所有这些如何与 Unity 的并发模型交互(在这个模型中,许多事情在不使用协程的情况下同时进行) ?