Unity 协程IEnumerator 相关

本文详细介绍了Unity中协程的各种使用方式,包括基本的暂停、延迟执行、等待特定条件及操作完成等技巧。通过具体示例展示了如何利用协程实现更灵活的游戏逻辑控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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");
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值