Unity中的协程 简单理解
在Unity中有这样一个概念——协程 我理解的协程概念,就是一个方法,但是可以将这个方法的中间过程挂起,过一段时间或者一些操作后再继续这个方法。 通常,协程的结构就是这样的: IEnumerator Test() { /*内容 内容*/ yield return 0; } 开启协程 StartCoroutine(“协程方法名“); 关闭协程 StopCoroutine(“协程方法名“); 对于一些有参数的协程,也可以这样做: 开启协程 Coroutine c=StartCoroutine(“协程方法名“); 关闭协程 StopCoroutine(c); IEnumerator 是C#的一个迭代器,你可以把它当成 指向一个序列的某个节点的指针 ,它提供了两个重要的接口,分别是Current(返回当前指向的元素)和 MoveNext()(将指针向前移动一个单位,如果移动成功,则返回true) yield 就是这个协程方法里起到协程作用的重要关键字,就是它将这个方法挂起,后面跟不同的东西会有不同的含义,目前常见如下: yiled return 0: 0可以换成任意的int类型的值,都是当前暂停一帧,从下一帧开始执行 yield return new WaitForSeconds(sec): 即这个协程方法挂起等待sec秒的时间 yield return StartCoroutine