Unity协同
来源:互联网 发布:标准人体尺寸测量数据 编辑:程序博客网 时间:2024/06/06 10:51
协同注意事项:
1.协同的返回值类型必须是IEnumerator
2.协同的参数不能加关键字ref或者out
3.在c#脚本中必须使用StartCoroutine来启动协同
4.yield语句要用yield return来代替
5.在函数Update和FixedUpdate中不能使用yield语句,但是可以启动协同.如果在Update中启动协同,会可能出现不等这个协同执行就已经再次启动这个协同了。
yield语句在协同中的典型用法:
yield return null:
等待下一帧中的Update执行完毕之后再运行
yield return new WaitForSeconds(10):
延迟10秒后在继续执行
yield return new WaitForFixedUpdate():
等待所有脚本中的FixedUpdate函数结束后再继续执行
yield return new WaitForEndOfFrame():
等待该帧中的所有Camrea和GUI对象渲染完毕,在帧被显示到屏幕上之前恢复执行前面的代码
yield return new WWW(url):
等待url下载完成后再继续执行
yield return StartCoroutine(MyFunc()):
等待协同MyFunc结束后再执行
在协同函数中,yield语句就像是一个红绿灯,在遇到yield语句之前都是绿灯,协同函数正常按顺序执行,但是碰到yield语句时则亮红灯,协同程序此时停止执行,当中断指令结束后红灯熄灭,绿灯变亮,协同函数继续执行余下的代码。
IEnumerator CoroutineProcedure(){print("绿灯");print("顺序执行");print("亮红灯");yield return new WaitForSeconds(2);等待两秒print("绿灯");}使用示例代码
void Update(){StartCoroutine(wait());}IEnumerator wait(){yield renturn new WaitForSeconds(5s);}这段代码是启动一个wait的协同函数,这个函数是等待5秒
- Unity协同
- unity协同程序
- unity IEnumerator 协同程序
- Unity 协同处理
- Unity Coroutine协同程序
- Unity协同程序
- Unity 协同函数、WWW
- Unity中的协同函数
- unity之协同程序
- Unity StartCoroutine 协同程序
- Unity中的协同程序
- Unity-协同程序
- 实现unity的协同(Coroutine)
- Unity深入了解协同Coroutine
- Unity的协同停止问题
- Unity中的协同与线程
- unity 协同程序有多线程效果
- Unity项目-了解协同StartCoroutine(1)
- Unicode编码(UTF8/UTF16)
- 【HTML笔记四】认识标签三
- 01背包问题-java
- [LeetCode] Bitwise AND of Numbers Range 数字范围位相与
- LinearLayout 属性详解
- Unity协同
- 《CSAPP》读书笔记:面向高速缓存编程
- 矩阵键盘扫描程序
- 软件开发中的deadline该怎么定
- [AngularJS面面观] 10. scope事件机制 - $emit,$broadcast以及事件对象
- 菜鸟碎碎念之Mysql
- 飞机大战(JavaScript代码)
- Gradle sync failed: Cannot locate factory for objects of type DefaultGradleConnector, as ConnectorSe
- 如何将字典转为模型?