协程介绍
在使用 Unity 进行游戏开发时,一般不考虑多线程,因为在 Unity 中,只能在主线程中获取物体的组件、方法、对象等。我们可以通过协程来异步完成一些比较耗时的操作,同时不影响主任务的进行。常见的异步操作有:资源加载,场景加载,WWW 网络资源下载。
协程,全称协同程序。Unity 中的协程由协程函数和协程调度器两部分构成,协程函数使用的是 C# 的迭代器,协程调度器则利用了 MonoBehaviour 中的生命周期函数来实现。
协程不是线程,也不是异步执行的,是 Unity 在 Update() 之后处理的函数。可以将 void Start() 方法直接改成 IEnumerator Start(), 也会用协程执行这个 Start。
开启和关闭协程的方式
- 必须在
MonoBehaviour或继承于MonoBehaviour的类中调用yield coroutine。 StartCoroutine所在脚本的物体必须是激活的,才能执行不报错。
协程函数的定义:
IEnumerator IETest(int param)
{
Debug.Log(param);
yield return null;
}
开启和关闭:
StartCoroutine("IETest", 2

本文详细介绍了Unity中协程的概念、开启和关闭协程的方法,以及协程执行流程、返回值表达式,包括yieldreturnnull、WaitForSeconds等,帮助开发者理解和使用协程进行高效异步编程。
最低0.47元/天 解锁文章
1727

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



