协程

协程(Coroutine)

协程是 Unity 中用于分帧执行的机制,允许在方法执行中间暂停(yield),等待一段时间或条件后继续,常用于延迟、动画、异步流程。

基本用法

IEnumerator MyCoroutine()
{
    Debug.Log("Start");
    yield return new WaitForSeconds(2f);   // 等待 2 秒
    Debug.Log("After 2s");
    yield return null;                      // 等待下一帧
    Debug.Log("Next frame");
}

// 启动
StartCoroutine(MyCoroutine());
// 或 StartCoroutine("MyCoroutine");

// 停止
StopCoroutine(MyCoroutine());
StopAllCoroutines();

常用 yield 指令

yield return null;                 // 下一帧
yield return new WaitForSeconds(2f);  // 等待秒
yield return new WaitForSecondsRealtime(2f);  // 真实时间(不受时间缩放)
yield return new WaitForEndOfFrame();  // 帧末
yield return new WWW(url);         // 旧版网络请求
yield return StartCoroutine(other); // 等待另一个协程

注意

  • 协程不是线程,依然运行在主线程
  • 对象销毁/禁用后协程停止
  • 长循环内要 yield 防止卡帧

“您的支持是我持续分享的动力”

微信收款码
微信
支付宝收款码
支付宝

目录