【unity2D】API-学习记录8-协程Coroutine
目标
理解协程的工作机制并掌握它的使用方法。
基于API理解协程
API对协程Coroutine的解释
即协程能够暂停协程函数的执行,直到给定的 YieldInstruction 完成,再从之前暂停的地方继续执行下去。
API对 YieldInstruction 的解释
也就是说,我们可以利用 YieldInstruction 来暂停协程函数的执行。
API中协程函数的代码范例(片段)
从上面我们可以看出一些端倪,协程函数和函数有一些地方不同:
-
协程没有返回值,它被IEnumerator修饰。IEnumerator英文意为迭代器,它是C#库里用来声明迭代器的一种语法。不必研究它的起源,只要知道:IEnumerator在Unity里是协程的标志。
-
协程用yield return代替return,并且至少要有一个yield。协程从yield处开始暂停,直到满足yield后给出的条件。
常用yield指令
如何启动协程
使用StartCoroutine();
第一种:变量版本
第二种:字符串版本
第二种虽然只用了一行代码,非常易读。但它相比第一种有两个缺点:
- 字符串版本在启动协程时的运行时开销更高。
- 并且只能传递一个参数。
如何终止协程
使用StopCoroutine();
以下是API中的解释:
StopCoroutine 接受以下三个参数(用于指定要停止的协同程序)之一:
- 一个字符串函数,用于命名激活的协同程序
- 之前用于创建该协同程序的 IEnumerator 变量。
- 一个 /Coroutine/,用于停止手动创建的 /Coroutine/。
注意:不要混淆三个参数,用何种参数启动协程的,以对应参数结束之
如果使用了字符串作为 StartCoroutine 中的参数,请在 StopCoroutine 中使用该字符串。
同样,在 StartCoroutine 和 StopCoroutine 中使用相同的 StopCoroutine。
最后才为 StopCoroutine 使用创建时使用的 /Coroutine/。
参考资料
Unity API Coroutine
Unity API MonoBehaviour.StartCoroutine
Unity API MonoBehaviour.StCoroutine
协程(Coroutine)原理分析
简单总结协程Coroutine及Yield常见用法
__EOF__

本文链接:https://www.cnblogs.com/OtusScops/p/14732037.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!