Unity——协程使用
2021-10-12 17:59
1036 查看
Unity——协程使用
官方解释:在主程序运行的同时,开启另外一段逻辑处理,来协同当前程序的执行;
**个人理解:**函数中调用另一个函数,另一个执行完成回来继续往下执行该函数;
使用方法1:
StartCoroutine("方法名",参数);
使用方法2:
StartCoroutine(IEnumerator method)
IEnumrator方法:
IEnumrator TestMethod() { yield return 1; }
yield return种类
yield return 0 or yield return null: 程序在下一帧中从当前位置继续执行;
yield return 1,2,3,......: 程序等待1,2,3...帧之后从当前位置继续执行;
yield return new WaitForSeconds(n): 程序等待n秒后从当前位置继续执行;
yield new WaitForEndOfFrame(): 在所有的渲染以及GUI程序执行完成后从当前位置继续执行;
yield new WaitForFixedUpdate(): 所有脚本中的FixedUpdate()函数都被执行后从当前位置继续执行;
yield return WWW: 等待一个网络请求完成后从当前位置继续执行;
yield return StartCoroutine(): 等待一个协程执行完成后从当前位置继续执行;
yield break: 直接从当前位置跳出函数体,回到函数的根部;
协程终止
StopCoroutine (string methodName) //终止指定的协程 StopAllCoroutine() //终止所有协程
协程返回值
协程中的参数不能加out,原因未知;
直接返回值也会报错,考虑后直接将参数写成回调;
或者直接变量记录;
private float num = 0; private Action<float> actCallBack; void Start() { actCallBack = (value) => num = value; StartCoroutine("Test", actCallBack); } private void Test(Action<float> act) { act(10); }
相关文章推荐
- Unity中协程(IEnumerator)的使用方法介绍
- 「Unity」使用协程延时执行代码
- Unity协程简单使用
- unity学习——使用协程实现延时效果
- Unity中协程方法使用
- Unity 协程(coroutine)详细使用
- lua 在unity 中的协程使用
- Unity协程介绍及使用
- Unity协程使用经验
- Unity两点间的线性插值及其协程的使用
- 项目记录28--unity-tolua框架 lua使用协程
- Unity如何使用WWW类和协程完成图片、视频下载播放
- Unity使用协程实现下载图片并加载
- 理解Unity中的协程的使用
- Unity如何使用WWW类和协程完成图片、视频下载播放
- Unity射线检测与协程的基础使用
- Unity 协程使用(嵌套)
- unity之使用协程异步加载场景
- Unity中协程的使用+自定义
- Unity 协程的使用简介