Unity 协程IEnumerator 相关

IEnumerator Test()
{
    // 下一帧再执行后续代码
    yield return null;

    // (任意数字) 下一帧再执行后续代码
    yield return 0;
    yield return 5;

    // 等待帧结束,等待直到所有的摄像机和GUI被渲染完成后,在该帧显示在屏幕之前执行
    yield return new WaitForEndOfFrame();

    // 等待0.5秒,一段指定的时间延迟之后继续执行,在所有的Update函数完成调用的那一帧之后(这里的时间会受到Time.timeScale的影响);
    yield return new WaitForSeconds(0.5f);
    // 等待0.5秒,一段指定的时间延迟之后继续执行,在所有的Update函数完成调用的那一帧之后(这里的时间不受到Time.timeScale的影响);
    yield return new WaitForSecondsRealtime(0.5f);

    // 等待下一次FixedUpdate开始时再执行后续代码
    yield return new WaitForFixedUpdate();

    // 等待WWW操作完成后再执行后续代码
    WWW www = new WWW("url");
    yield return www;
    
    // 等待某个协程执行完毕后再执行后续代码
    yield return StartCoroutine("Test2"); 

    int count = 10;
    // 将协同执行直到 当输入的参数(或者委托)为true的时候
    yield return new WaitUntil(() => count >= 10);
    // 将协同执行直到 当输入的参数(或者委托)为false的时候
    yield return new WaitWhile(() => count != 10);
    
    // 等异步操作结束后再执行后续代码
    yield return asyncOperation;
    
    //直接结束该协程的后续操作
    yield break;
    Log.Error("111111");
}

 

 


版权声明:本文为Cc_Super原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。