首页 > 编程语言 >Unity-C# 协程 IEnumerator 用法梳理

Unity-C# 协程 IEnumerator 用法梳理

时间:2022-12-20 11:44:06浏览次数:55  
标签:return C# yield -- Unity new 协程 IEnumerator

引用协程

为了使用协程,必须在文件头部引入:

using System.Collections;

启动协程

使用 StartCoroutine(IEnumerator) 来启动一个协程

停止协程

使用 StartCoroutine(IEnumerator) 来停止一个协程

协程函数的 yield 指令

yield return null -- 下一帧再执行后续代码

yield break -- 直接结束该协程的后续操作

yield return asyncOperation -- 等异步操作结束后再执行后续代码

yield return StartCoroution(IEnumerator) -- 等待某个协程执行完毕后再执行后续代码

yield return function() -- 等待 function 操作完成后再执行后续代码

yield return new WaitForEndOfFrame() -- 等待帧结束,等待直到所有的摄像机和GUI被渲染完成后,在该帧显示在屏幕之前执行

yield return new WaitForSeconds(0.3f) -- 等待0.3秒,一段指定的时间延迟之后继续执行,在所有的Update函数完成调用的那一帧之后(这里的时间会受到Time.timeScale的影响)

yield return new WaitForSecondsRealtime(0.3f) -- 等待0.3秒,一段指定的时间延迟之后继续执行,在所有的Update函数完成调用的那一帧之后(这里的时间不受到Time.timeScale的影响)

yield return WaitForFixedUpdate() -- 等待下一次FixedUpdate开始时再执行后续代码

yield return new WaitUntil() -- 将协同执行直到 当输入的参数(或者委托)为true的时候....如:yield return new WaitUntil(() => frame >= 10)

yield return new WaitWhile() -- 将协同执行直到 当输入的参数(或者委托)为false的时候.... 如:yield return new WaitWhile(() => frame < 10)

 

标签:return,C#,yield,--,Unity,new,协程,IEnumerator
From: https://www.cnblogs.com/huowenjie/p/16993861.html

相关文章

  • 性能监控平台搭建 -- 集成Locust性能数据
    ​文章目录​​问题概述​​​​获取Locust性能数据接口​​​​定时采集性能数据​​​​性能数据采集一致性​​​​no-web模式下获取性能数据​​​​slave模式下不进行......
  • gunicorn + Flask架构中使用多进程全局锁
    有之前的​​认识WSGI​​和​​WSGI的前世今世​​之后,现在就可以介绍如何在gunicorn+Flask架构模式下,在Flask处理线程中使用全局锁。 说到锁在Python中也有很多锁,最常......
  • k8s原理之-Pod控制器--ReplicaSet、Deployment
    一、Pod控制器及其功用Pod控制器是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试进行重启,当根据重启策略无效,则会重新新建pod的资......
  • 解析Java框架中entity层,mapper层,service层,controller各层作用
    转载自:https://blog.csdn.net/u011095110/article/details/86088976一、entity层别名:model层,domain层用途:实体层,用于存放我们的实体类,与数据库中的属性值基本......
  • HDU5091 Beam Cannon
    \(HDU5091\)\(Beam\)\(Cannon\)一、题目大意有\(n\)个点(\(n<=10000\)),点的坐标绝对值不超过\(20000\),然后问你用一个\(w*h(1<=w,h<=40000)\)的矩形,矩形的边平行于坐标......
  • itop2k1000开发板Makefile基本语法wildcard 函数
    格式:$(wildcardPATTENR)功能:展开指定的目录举例:在/home/topeet/test目录有一个“a.c”的c文件和一个test的文件夹,在/home/topeet/test/test文件夹下有一个......
  • pyenv环境安装(CentOS)
    1、首选通过pyenv_installer来安装。命令如下:curlhttps://pyenv.run|bash2、如果上述shell安装失败,可以选择手动安装:安装依赖:yuminstallgcczlib-develbzip2bzip2-de......
  • Spring Statemachine状态机的概念
    SpringStatemachine(SSM)是一个框架,可以让应用程序开发人员将传统的状态机概念与Spring应用程序结合使用。SSM提供以下功能:易于使用的平面(单级)状态机,适用于简单用例。分......
  • Uncaught (in promise) TypeError: Cannot set property 'value' of undefined解决办
    报错在vue中想给computed属性赋值的时候发生的报错原因computed计算属性不能使用箭头函数设置getter或setter解决办法computed:{ propertyName:{ get:()=>{ ......
  • ubuntu16.04+七彩虹GTX1060的NVIDIA驱动+Cuda8.0+cudnn5.1+tensorflow+keras搭建深度
    平台信息:PC:ubuntu16.04、i5、七彩虹GTX1060显卡作者:庄泽彬(欢迎转载,请注明作者)说明:参考了网上的一堆的资料搭建了深度学习的开发环境,下班在宿舍折腾了好几个晚上才搞定,写......