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定义的一些规则