引用协程

为了使用协程,必须在文件头部引入:

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)

 

posted on 2022-12-20 11:38  辽州小虾米  阅读(689)  评论(0编辑  收藏  举报