• 协同

    协同

    1、协同必须在 MonoBehaviour 继承类中启动

    2、协同定义随便,只要在 Unity 引擎内的什么类中都可以定义

    3、协同一旦启动它会立即执行协同函数的第一段,所以你尽量不要把负荷很大的代码写在第一段里

    4、协同除了第一次启动会立即执行外,其他时候都是在 Update 函数之后

    5、协同是假的多线程,所以它可以无条件访问成员级变量和函数,无需线程互斥

    6、协同函数中定义变量是协同函数全局的

    7、协同函数中的代码都是过程化的,没有面向对象的概念

    8、不要在循环中调用协同方法

    9、事件函数也可以改写成协同方法

    1. IEnumerator Start()
    2. {
    3. }
    4. IEnumerator OnTriggerEnter(Collider col)
    5. {
    6. }

    10、在协同中可以调用其他协同方法

    1. StartCoroutine(Run());
    2. yield return StartCoroutine(Run());