位置: 编程技术 - 正文

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入门视频教程)

  • 房产税一律按房产价值计征
  • 进项税额转出会影响利润吗
  • 委托加工业务中,委托方是纳税义务人
  • 计提坏账准备的做法体现了
  • 基础设施道路建设
  • 增值税发票丢失可以用复印件入账么
  • 算所得税要不要减去增值税
  • 固定资产原值错误的账务处理
  • 新领的发票怎么导入uk开票系统
  • 已入账未抵扣退回发票
  • 外经证的项目范围
  • 分配利润顺序
  • 2020年最新增值税租车费
  • 税收分类编码选错了没事吧
  • 固定资产进项票能抵扣吗
  • 当期净资产收益率怎么算
  • 残疾人保障金中上年在职职工人数怎么计算
  • 集团内部资金借贷制度
  • 企业预付的固定资产折旧
  • 怎么更正以前年度企业所得税
  • 企业购买理财产品的会计分录
  • 货物出库的会计分录
  • 进项税留抵期限
  • macOS Catalina10.15.4值得升级吗 macOS Catalina10.15.4更新了什么
  • 宏基笔记本一键恢复系统
  • php初学者常见问题和答案
  • 摊销租赁费属于什么费用
  • PHP:base64_encode()的用法_url函数
  • 前端项目中遇到的最大困难,怎么解决的
  • 制造业成本核算明细表
  • 增值税加计抵减申报表怎么填
  • uniapp 打开小程序
  • java基础网络编程
  • 如何防止sql注入 java
  • php自动载入文件的函数
  • 用友u8反结账反记账的操作步骤
  • 多缴税金抵税会怎么样
  • 缴纳社保记账凭证附件
  • 其他应收款个人挂账很大该怎么处理
  • phpcms插件
  • 织梦安装数据库一直连接失败
  • 如何解决在大学的压力英语作文
  • mysqli删除
  • mongodb数据表设计怎么写
  • 银行业的利润率
  • 销售额包括哪些会计科目
  • mysql密码忘了怎么办?
  • 企业所得税汇算清缴时间
  • 土地违约金的法律规定
  • 企业有进项税额,无销项税额
  • 车辆按揭利息财务怎么算
  • 税务销售滞后是什么意思
  • 营业外支出的用法
  • 定额发票的使用方法
  • centos rpm包存放位置
  • Windows 10 PC/Mobile Build 14965预览版推送:改进PC端
  • linux查找内容在哪个文件中
  • 清除cmos后电脑不启动
  • 进程出现很多regsvr32
  • win8修改锁屏壁纸
  • windows8快速关机
  • cocos 2d x
  • bootstrap启动类
  • 页面模板排序
  • OpenGL图元管理
  • listview的item
  • node.js使用教程
  • 检测ip地址命令
  • void方法设置断言
  • 用python做一个贪吃蛇
  • javascript函数如何定义及其作用
  • jquery trigger 传参数
  • 营改增之前建筑业税率是多少
  • 电子税务推广工作内容
  • 如何在电子税务局申报社保
  • 深圳市地税局财务电话
  • 地税收税标准
  • 广东省国家税务总局稽查局局长
  • 涉密人员保密教育培训可以采取
  • 应交税金包含企业所得税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设