位置: 编程技术 - 正文

Unity3D: StartCoroutine 和 yield return 深入研究

编辑:rootadmin

推荐整理分享Unity3D: StartCoroutine 和 yield return 深入研究,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

原文地址: return表面意思很好理解,StartCoroutine就是开启一个协程,yield return 是迭代器块返回调用迭代的地方。 是吧?不知道你什么感觉,反正我觉得,还是需要深入研究一下的。OK,here we go!

首先,先看一下StartCoroutine在Unity官方的解释。

意思是:一个协程的执行可以在任何地方用yield语句来暂停,yield return的值决定了什么时候协程恢复执行。协程在协调在几帧中执行的操作时有极大的用处.协程几乎没有任何性能开销。

StartCoroutine一般都会立即返回,然而你也可以获得返回结果的值。但是这一步会等到协程结束执行才能生效。

OK,意思应该不难理解,根据他的意思我们来分析一段程序。

运行结果是:

start1

test1

start2

Unity3D: StartCoroutine 和 yield return 深入研究

test2

这下就一目了然了,当StartCoroutine刚调用的时候,可以理解为正常的函数调用,然后接着看调用的函数里面。

当被调用函数执行到yield return null;(暂停协程,等待下一帧继续执行)时,根据Unity解释协同程序就会被暂停,其实我个人认为他这个解释不够精确,先返回开始协程的地方,然后再暂停协程。也就是先通知调用处,“你先走吧,不用管我”,然后再暂停协程。。怎么?不信?那我们再写个demo验证一下。

执行结果:

start1

test1

start2

test2 (这个test2是等待三秒后才打印出来的)

正好顺便验证了“yield return的值决定了什么时候协程恢复执行”这句,其实yield return后面的值可以后很多用法,可以看这个帖子: return StartCoroutine,第一个StartCoroutine会等到第二个StartCoroutine中所有代码结束后再继续执行,而第二个StartCoroutine中的yield语句会先返回第一个,然后立即返回他的调用处,也就是调用处会继续执行,而第一个StartCoroutine会等待第二个执行完再继续执行。

如果还想继续深入,可以看一下C#中的迭代器,那里面说明了yield和IEnumerator根本到底是什么。

OK,今天就说到这。Good Luck!

【Unity3d】学习笔记(9)——写一个计时器工具 今天看到一个Unity3D的机试题:写一个计时器工具,从整点开始计时,格式为:::于是试着实现了一下。创建工程后添加一个Cube物体,为其添加一个

Unity3D项目优化:从Draw Calls到GC 前言:刚开始写这篇文章的时候选了一个很土的题目。。。《unity3d优化全解析》。因为这是一篇临时起意才写的文章,而且陈述的都是既有的事实,因

Unity3D游戏开发之反编译AssetBundle提取游戏资源 各位朋友,大家好,欢迎大家关注我的博客,我是秦元培,我的博客地址是

标签: Unity3D: StartCoroutine 和 yield return 深入研究

本文链接地址:https://www.jiuchutong.com/biancheng/378740.html 转载请保留说明!

上一篇:Unity中删除child(unity删除对象)

下一篇:【Unity3d】学习笔记(9)——写一个计时器工具(unity3d入门视频教程)

  • 超标准能按小规模纳税人标准纳税吗?
  • 所得税可以弥补几年
  • 劳务公司的个税如何申报
  • 申报社保不报个人账户
  • 研发项目帐务处理方案
  • 资产负债表利润表和现金流量表之间的关系
  • 付代销手续费会计分录
  • 劳务成本会计科目
  • 工资单上的retro
  • 个人劳务费 税
  • 有发票章的存根联可以当发票用吗
  • 临时工工资能否用公户支付
  • 行政事业单位结算起点
  • 房地产未确认收入情况说明
  • 交易性金融资产属于什么科目
  • 所得税汇算清缴后发现有误怎么办
  • 一般纳税人三个条件是什么
  • 金税盘没票了
  • 增值税开票系统收款人在哪里设置
  • 商品流通企业采购商品的进货费用金额较小的
  • 宣传用品发票包括哪些
  • 所得税预缴资产怎么计算
  • 公司变更税务处理?
  • 安装支付设备工作怎么样
  • exe是什么进程
  • 所得税汇算清缴时间期限
  • win10商店在哪打开
  • 公司装修款怎么做分录
  • 最贵的十张照片
  • 小公司不交社保违法吗
  • php从数据库中读取数据
  • php ffi 性能
  • php中include_once
  • golang调用python代码
  • php微信公众号开发框架
  • vue3动态路由权限
  • load命令怎么用
  • vgchange命令
  • git 查看所有commit
  • mysql 长事务
  • 个税累积税阶
  • 织梦怎么调用当前栏目下的文章
  • mysql怎么截取字段
  • 以非货币性资产对外投资会计处理
  • 小规模纳税人税率2023年是多少
  • sql2005怎么执行语句
  • 库存暂估入账的会计分录
  • 纳税人提供不动产经营租赁服务增值税征收管理暂行办法
  • 汇算清缴里的账户是什么
  • 劳务外包合同需要注意什么
  • 财产租赁合同印花税申报期限
  • 利润表主营业务收入怎么算
  • 代扣代缴增值税怎么做账
  • 支付收购股权款如何做账
  • 银行贷款信用贷
  • 应收账款和坏账准备的解题思路
  • 投资回报怎么写
  • 差旅费报销属于自制原始凭证吗
  • 企业应收票据
  • 私企干不长久
  • mysql官方监控工具
  • sql数据库回滚操作
  • windows server vista
  • win7笔记本电脑怎么重装系统教程
  • 苹果电脑怎么切换系统
  • win10应用商店叫什么
  • unity粒子制作ui特效
  • 用简洁的语言推荐一本书
  • jquery移动端ui框架
  • 实用的批处理
  • 置顶是什么意思呢
  • jquery validator
  • listview subitems
  • android 图片视频轮播框架
  • jupyter 安装python包
  • 江苏国家电子税务局网站
  • 水利建设基金如何计提
  • 航天信息人工电话
  • 矿产资源税的计税依据
  • 包头市到青山区多少公里
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设