记录Unity中对于协程常用的一些操作

不管是对于网络请求或加载资源时以及一些相对来说比较耗费时间的运算时,我们不希望会全部写在Update中来占用大量主线程的资源。
协程 : IEnumerator 本质上其实是C#中的一个迭代器

如何使用协程 :
开启协程 StartCoroutine(“协程方法名_string “);
开启协程 StartCoroutine(协程方法());
关闭协程 StopCoroutine(“协程方法名_string “);

当我们使用协程的过程中需要等待一些操作完成再进行下一步操作时,提供了以下方法:

yield return (null & 任意数字);// 下一帧再进行下一步;yield break; //直接结束该协程;yield return "SomeAsyncOption";//等待某个指定异步操作完成后进行下一步;yield return (WWW & WebRequest);//等待当前请求完成后执行下一步;yield return StartCoroution("SomeIEnumerator");//等待某个协程执行完毕后再进行下一步;yield return new WaitForEndOfFrame();//等待帧结束直到所有的摄像机和GUI被渲染完成后,在该帧绘制在屏幕上之前执行;yield return new WaitForSeconds(float);//等待float秒之后继续执行,在所有的Update函数完成调用的那一帧之后(这里的时间会受到Time.timeScale的影响);yield return new WaitForSecondsRealtime(float);//等待float秒之后继续执行,在所有的Update函数完成调用的那一帧之后(这里的时间不受到Time.timeScale的影响);yield return WaitForFixedUpdate();//等待下一次FixedUpdate开始时再进行下一步;yield return new WaitUntil(Func<bool> parameter);//当parameter返回为True时进行下一步;yield return new WaitWhile(Func<bool> parameter);//当parameter返回为False时进行下一步;

Unity中协程的yield return相关推荐

  1. Unity中协程(IEnumerator)的使用方法介绍

    在Unity中,一般的方法都是顺序执行的,一般的方法也都是在一帧中执行完毕的,当我们所写的方法需要耗费一定时间时,便会出现帧率下降,画面卡顿的现象.当我们调用一个方法想要让一个物体缓慢消失时,除了在U ...

  2. Unity中协程与线程的区别

    本文转载自:https://blog.csdn.net/qq_25122429/article/details/80481443 协同程序(coroutine)与多线程情况下的线程比较类似:有自己的堆 ...

  3. unity update 协程_Unity协程,停止协程及yield return使用_019

    public void Start() { //开启协程 Coroutine testCoroutine = StartCoroutine(Test()); //停止指定协程 StopCoroutin ...

  4. Unity中协程和线程区别

    协程和线程的效果类似,都可以实现与主线程异步的效果,但是本质不一样. 协程在主线程内,通过软件手段实现函数与主线程的异步效果.Startcoroutine(IEnumerator Func);IEnu ...

  5. Unity中协程和线程的区别

    协程(协同程序): 同一时间只能执行某个协程.开辟多个协程开销不大.协程适合对某任务进行分时处理. 线程: 同一时间可以同时执行多个线程.开辟多条线程开销很大.线程适合多任务同时处理. 参考:http ...

  6. unity update 协程_Unity 协程的原理

    Unity 协程的原理 发布时间:2019-06-13 18:45, 浏览次数:1118 , 标签: Unity 协程不是多线程,协程还是在主线程里面(注:在Unity中非主线程是不可以访问Unity ...

  7. unity协程_[C#进阶]C#实现类似Unity的协程

    使用过Unity的同学一定知道,Unity提供了一套协程机制,简直不要太好用.但是这个协程依赖于Unity引擎,离开Unity就无法使用.那有没有办法实现不依赖Unity的协程呢?答案是当然阔以. 所 ...

  8. Unity的协程详解

    一.协程的定义 协程,即为协同程序. Unity中的协程由协程函数和协程调度器两部分构成.协程函数使用的是C#的迭代器, 协程调度器则利用了MonoBehaviour中的生命周期函数来实现. 协程函数 ...

  9. python中协程与函数的区别_深入浅析python 协程与go协程的区别

    进程.线程和协程 进程的定义: 进程,是计算机中已运行程序的实体.程序本身只是指令.数据及其组织形式的描述,进程才是程序的真正运行实例. 线程的定义: 操作系统能够进行运算调度的最小单位.它被包含在进 ...

最新文章

  1. 成就更卓越、更有意义的人生
  2. 一句话木马使用方法总结
  3. SUSE glibc升级为2.18过程记录
  4. Java面试题之有没有有顺序的Map实现类,如果有,他们是怎么实现有序的?
  5. Maven私服的简单搭建教程(Nexus)
  6. python count函数用法 comm_Python学习第六天课后练习案例 (主要针对的内容是python函数的定义和使用)...
  7. Spark报错:JDOFatalInternalException: Error creating transactional connection factory
  8. 51nod 1009 数字1的数量
  9. @Controller深入详解
  10. 等额本息PMT和PPMT推导计算公式
  11. 最难学的5种编程语言排行
  12. 谈谈Python的Flask框架学习与福利分享
  13. mac菜单栏设置教程
  14. 安全设计:加速传输软件镭速传输安全技术解读
  15. 5-旋转的小菊-旋转画布和定时器
  16. pdfviewpager_Android客户端实现查阅PDF文件功能
  17. 百度步行导航加poi搜索android,Android Studio百度地图路线规划以及POI搜索功能的实现...
  18. 海康威视的视频如何显示在web页面上显示
  19. 22.【实战】车辆统计
  20. linux上部署K8S集群

热门文章

  1. 【图像识别】身份证号码识别matlab源码
  2. CleanMyMac X专业清理软件更新 助力M2芯Mac保持最佳状态
  3. 炫龙毁灭者DD2 UEFI原版WIN10安装Ubantu双系统
  4. 循迹黑线和红线的区别
  5. 三星s8怎么分屏操作_一心三用 三星Galaxy Z Fold2 5G成多任务处理大师_
  6. 为什么python证券接口通达信系统中没有接口?
  7. 使用C#更改打印机驱动打印属性设置
  8. ARM与射频芯片TRF796x的SPI通信研究
  9. mac下删除自动生成的隐藏文件
  10. 基数统计算法狗年旺旺旺