unity基础(九)协程原理

1协程可分为两部分 协程函数本体和协程调度器,

协程本体就是一个能够中间暂停返回的函数

协程调度器是unity内部实现的,会在对应的时机帮助我们继续执行协程函数

unity只实现了协程调度部分

协程本质上就是一个c#的迭代器方法

协程函数本体如果我们不通过开启协程方法进行

untiy的协程调度器是不会帮助我们管理协程函数的

但是我们可以自己执行进行的迭代器接口

cs 复制代码
IEnumerator Test()
{
    print("第一次执行");
    yield return 1;
    print("第二次执行");
    yield return 2;
    print("第三次执行");
    yield return 3;
    print("第四次执行");
    yield return  new TestClass(10);
}

 ie.MoveNext();  //执行内容,直到遇到yield return 为止
 print(ie.Current);//返回出当前的yield return

ie.MoveNext() ;
print(ie.Current);

ie.MoveNext();
print(ie.Current);

ie.MoveNext();
print(ie.Current);

//一步到位  上面是步步都写。
//MoveNext 返回值 代表着是否到了结尾 这个迭代器函数 是否执行完毕

    while (ie.MoveNext())
    {
        print(ie.Current);
    }
    
    StartCoroutine(Test());
}

2 协程调度器

继承MonoBehavior后 开启协程

相当于是把一个协程函数 (迭代器) 放入unity的协程调度中帮助我们管理进行执行

具体的yield return 后面的规则 也是unity定义的一些规则

相关推荐
LONGZETECH20 小时前
新能源汽车动力电池实训教学痛点与虚拟仿真技术解决方案
c语言·3d·unity·架构·汽车·汽车教学软件
王维志21 小时前
UiSplineRenderer
unity·游戏引擎
k4m7v2pz1 天前
Godot 4 仿 agar.io:相机缩放被 max_zoom 卡死,窗口越大球越小的根因与修复
游戏引擎·godot·相机·缩放·clamp·camera2d
FairGuard手游加固1 天前
iOS 游戏加固技术解析:代码混淆、资源加密、内存保护与重签名检测
安全·游戏·macos·unity·ios·objective-c
k4m7v2pz2 天前
Godot 4 窗口拉伸黑边与变形:stretch 配置全解析
数码相机·游戏引擎·godot·2d游戏·黑边·stretch·画面比例
UWA2 天前
GPM 2.0 WebGL 监测能力扩容|覆盖 Unity/Cocos/LayaAir 多引擎微信 & 抖音小游戏
unity·微信·性能优化·小游戏·webgl
Behaviour2 天前
Unity 手游网络同步技术
网络·unity·c#·游戏引擎
niuniudengdeng2 天前
Unity手游APK去广告实战:华为渠道包反编译、广告拦截与“网络不佳“弹窗修复全记录
unity·游戏引擎
k4m7v2pz2 天前
Godot 4 嵌入式试玩窗口尺寸与适配策略详解
编辑器·游戏引擎·godot·游戏开发·嵌入式运行
Behaviour3 天前
Unity UI循环列表UIScrollViewContent实现
ui·unity·c#·游戏引擎