unity update 协程_Unity协程,停止协程及yield return使用_019
public void Start()
{
//开启协程
Coroutine testCoroutine = StartCoroutine(Test());
//停止指定协程
StopCoroutine(testCoroutine);
//协程可以同时开启多个
StartCoroutine("Test");
//经实测,StopCoroutine("Test")只能停止StartCoroutine("Test")开启的协程,对StartCoroutine(Test())开启的协程无效
StopCoroutine("Test");
//停止本脚本内所有协程
StopAllCoroutines();
}
IEnumerator Test()
{
//等待下一帧Update之后,继续执行后续代码
yield return null;
//等待在所有相机和GUI渲染之后,直到帧结束,继续执行后续代码
yield return new WaitForEndOfFrame();
//等待下一个FixedUpdate之后,继续执行后续代码
yield return new WaitForFixedUpdate();
//等待3秒之后,继续执行后续代码,使用缩放时间暂停协程执行达到给定的秒数
yield return new WaitForSeconds(3.0f);
//等待3秒之后,继续执行后续代码,使用未缩放的时间暂停协程执行达到给定的秒数
yield return new WaitForSecondsRealtime(3.0f);
//等待直到Func返回true,继续执行后续代码
//yield return new WaitUntil(System.Func);
yield return new WaitUntil(() => true);
//等待直到Func返回false,继续执行后续代码
//yield return new WaitWhile(System.Func);
yield return new WaitWhile(() => false);
//等待新开启的协程完成后,继续执行后续代码,可以利用这一点,实现递归
yield return StartCoroutine(Test());
//for循环
for (int i = 0; i < 10; i++)
{
Debug.Log(i);
yield return new WaitForSeconds(1);
}
//while循环,while(true):如果循环体内有yield return···语句,不会因为死循环卡死
int j = 0;
while (j < 10)
{
j++;
Debug.Log(j);
yield return new WaitForSeconds(1);
}
//终止本协程
yield break;
}
分享一位大大的翻译博文,关于同步等待、同步协程、异步协程、并行协程,图文说明非常清晰~
unity update 协程_Unity协程,停止协程及yield return使用_019相关推荐
- Unity 之 关于停止协程的五种方式解析
Unity 之 关于停止协程的五种方式解析 前言:了解协程 方式一:函数的方式 方式二:函数名的方式 方式三:接收返回值 方式四:StopAllCoroutines 方式五:禁用/销毁游戏对象 本文小 ...
- 怎么在unity中测试游戏_Unity中的性能基准测试:如何开始
怎么在unity中测试游戏 As a Unity developer, you want your users to love playing your games, enjoying a smoot ...
- unity update 协程_Unity 协程的原理
Unity 协程的原理 发布时间:2019-06-13 18:45, 浏览次数:1118 , 标签: Unity 协程不是多线程,协程还是在主线程里面(注:在Unity中非主线程是不可以访问Unity ...
- 发现一个小坑的地方,unity的协程,想要停止,必须以字符串启动
今天想要停止一个协成,发现调用 StopCoroutine(ShowDebug()); 竟然不管用,后来看了文档才知道,原来想要停止协成,必须用字符启动协程 StartCoroutine(" ...
- unity 下一帧执行_理解Unity中的优化(三):协程(Coroutines)
Coroutines: Coroutines与其他脚本代码的执行方式不同.在性能分析中,大多数的脚本代码只会在Unity的生命周期方法下出现一次.但是协程总是会在两个地方出现. 在性能分析中,Coro ...
- Unity协程实现分析以及Lua协程与Unity协程的混合使用
1,节选翻译一篇stackoverflow关于Unity协程实现的讨论 - The big clues are in the C# version. Firstly, note that the re ...
- Unity中协程的yield return
记录Unity中对于协程常用的一些操作 不管是对于网络请求或加载资源时以及一些相对来说比较耗费时间的运算时,我们不希望会全部写在Update中来占用大量主线程的资源. 协程 : IEnumerator ...
- Unity 协程 yield return的使用
public void Start(){//开启协程Coroutine testCoroutine = StartCoroutine(Test());//停止指定协程StopCoroutine(tes ...
- yield学习续:yield return迭代块在Unity3D中的应用——协程
必读好文推荐: Unity协程(Coroutine)原理深入剖析 Unity协程(Coroutine)原理深入剖析再续 上面的文章说得太透彻,所以这里就记一下自己的学习笔记了. 首先要说明的是,协程并 ...
最新文章
- 什么是码元计算机通信
- 浅谈敏捷开发及Scrum工具leangoo(三)
- 中国科学7月微生物组专刊:赵立平、秦楠、东秀珠领衔
- R语言进行缺失值填充(Filling in missing values):使用R原生方法、data.table、dplyr等方案
- 微信小程序如何让获取view的高度
- EdgeX Foundry理论篇
- [转]详细讲解提高数据库查询效率的实用方法、外键关于性能
- tf.name_scope()详解【命名空间其实就是给几个变量包一层名字,方便变量管理】
- 2017.9.11 数列 失败总结
- 面试准备——mybatis相关
- lms噪声测试软件介绍,LMS 振动噪声测试与分析系统.pdf
- mysql 同比sql_mysql计算同比和环比的区别_【面试真题】Mysql实现计算同比、环比...
- 微软洪小文全面解读智能层级:目前的智能都是AI+HI
- k8s service nodeport
- Word 在试图打开文件时遇到错误 解决办法
- java多边形合并_geotools实现多边形的合并缓冲区
- 求余数(c++基础)
- [笨叔点滴6] 叔,这个git咋玩啊?
- Ubuntu bpy(blender)的pip安装
- 差分放大电路——直接耦合放大电路基本元件