讲在开头
协程是什么?
相信用过unity的都知道,
协程就是一个方法,每一个update 走到下一个等待
本质上就是 一个迭代器,每一帧 movenext 一次,知道没法movenext
相信都理解协程是啥了,很好,上马
使用
public class CoroutineTest : Test
{
protected override void Start()
{
Framework.env0.modules.Coroutine.StartCoroutine(wait2());
}
IEnumerator wait()
{
Log.L("wait Go");
yield return new IFramework.Modules.Coroutine.WaitForSeconds(2);
Log.L("wait end");
}
IEnumerator wait1()
{
Log.L("wait1 Go");
yield return wait();
Log.L("wait1 end");
}
IEnumerator wait2()
{
Log.L("wait2 Go");
yield return wait();
Log.L("wait2 end");
Log.L("wait2 Go");
yield return wait1();
Log.L("wait2 end");
}
protected override void Stop()
{
}
protected override void Update()
{
}
}
看完代码,是不是发现和unity一样使用?让我们来看看输出

对照代码,看看时间,的确很简单
本文介绍了Unity中的协程概念,将其比喻为一个迭代器,每帧执行一次MoveNext直到结束。通过示例代码`CoroutineTest`展示了协程的使用方式,包括嵌套协程的调用,详细解释了代码逻辑并分析了输出结果,帮助读者更好地理解和应用Unity的协程机制。
1690

被折叠的 条评论
为什么被折叠?



