Unity Coroutine 简单理解
来源:互联网 发布:省市区级联sql查询 编辑:程序博客网 时间:2024/06/07 05:46
协程的定义:
IEnumerator MyCoroutine () { yield return new WaitForSeconds(1.0f); doSomething();}
启动协程:
StartCoroutine(MyCoroutine ())
解析:
协程一旦启动后,就像 Update 函数一样,每帧执行
yield return 的作用就是返回 IEnumerator 对象,当该 IEnumerator 对象 (在上面的示例中就是 new WaitForSeconds(1.0f) )的 MoveNext 返回 false 时,即该 IEnumerator 迭代到最后一个元素,才会执行后面的 doSomething 语句
总结一下,实际上就是协程启动后,判断 yield return 是否返回 false ,如果不是则 MoveNext 下一帧再判断,直到 return false 则执行后面的语句
在 update 中启动协程
void Update (){ StartCoroutine(MyCoroutine ())}
在每帧 Time.deltaTime 都开启一个 MyCoroutine 协程,每个协程延迟1秒后执行,换句话说 MyCoroutine 函数将在1秒后按 Time.deltaTime 的间隔时间陆续执行,在这里,与调用普通函数相比效果仅仅是延迟1秒后开始执行
使用协程模拟一个 FixedUpdate
IEnumerator MyUpdate() { while(true) { yield return new WaitForSeconds(0.02f); doSomething(); }}void Start(){ StartCoroutine(MyUpdate());}每间隔 0.02 秒执行一次 doSomething 函数
阅读全文
0 0
- Unity Coroutine 简单理解
- [Unity基础]对Coroutine的一些理解
- Unity Coroutine的深度理解与实践
- Unity Coroutine的深度理解与实践
- unity coroutine
- Unity coroutine优化
- Unity的Coroutine
- 关于unity的Coroutine
- Unity Coroutine协同程序
- Unity协程(Coroutine)
- Unity Coroutine协程
- unity “协程”Coroutine
- Unity协程(Coroutine)
- Unity的Coroutine协程
- Lua coroutine理解
- lua coroutine理解
- LUA 怎么理解coroutine ?
- 理解Lua的Coroutine
- 只有技术没有运气会怎样?一个程序员的运气有多重要?
- 第十一课:歌手详情抓取
- A simple but tough-to-beat baseline for sentence embedding
- ThinkPHP5.0 文件操作的错误记录
- 使用okhttp忽略https的证书认证
- Unity Coroutine 简单理解
- 【持久化框架】Mybatis简介与原理
- 《java与模式》-10 原始模型模式
- Python安全小工具之Web目录扫描器
- 读《哪有没时间这回事》有感
- 【java基础】函数的可变参数类型
- 油田采油生产业务建模之业务用例规约实践(EA使用入门)
- Ngnix + Tomcat负载均衡架构
- 建造者模式学习笔记