引用协程
为了使用协程,必须在文件头部引入:
using System.Collections;
启动协程
使用 StartCoroutine(IEnumerator) 来启动一个协程
停止协程
使用 StartCoroutine(IEnumerator) 来停止一个协程
协程函数的 yield 指令
yield return null -- 下一帧再执行后续代码
yield break -- 直接结束该协程的后续操作
yield return asyncOperation -- 等异步操作结束后再执行后续代码
yield return StartCoroution(IEnumerator) -- 等待某个协程执行完毕后再执行后续代码
yield return function() -- 等待 function 操作完成后再执行后续代码
yield return new WaitForEndOfFrame() -- 等待帧结束,等待直到所有的摄像机和GUI被渲染完成后,在该帧显示在屏幕之前执行
yield return new WaitForSeconds(0.3f) -- 等待0.3秒,一段指定的时间延迟之后继续执行,在所有的Update函数完成调用的那一帧之后(这里的时间会受到Time.timeScale的影响)
yield return new WaitForSecondsRealtime(0.3f) -- 等待0.3秒,一段指定的时间延迟之后继续执行,在所有的Update函数完成调用的那一帧之后(这里的时间不受到Time.timeScale的影响)
yield return WaitForFixedUpdate() -- 等待下一次FixedUpdate开始时再执行后续代码
yield return new WaitUntil() -- 将协同执行直到 当输入的参数(或者委托)为true的时候....如:yield return new WaitUntil(() => frame >= 10)
yield return new WaitWhile() -- 将协同执行直到 当输入的参数(或者委托)为false的时候.... 如:yield return new WaitWhile(() => frame < 10)