位置: 编程技术 - 正文

Unity3D武器Coroutine介绍(unity3d武器模型)

编辑:rootadmin
Unity3D提供的武器Coroutine,如果您因为一些所谓的”坑“,禁止自己或者他人使用,你将会失去一把锋利的武器,同时你也会”后悔“。PS:当然并没有这么可怕..下面我们通篇介绍下Unity强大的“走走停停,分解压力”功能Coroutine.最简单的解释:你想在程序中每隔“多长时间”或者“下一帧”过后才继续执行一个程序块的剩余部分内容。举几个使用场景:[1]我们有一个复杂计算量非常大的处理逻辑,如果在同一帧执行,一定会导致游戏的卡顿,需要将这些大的逻辑处理“分割”到“每隔一帧”或者“2s过后”执行的小块中。[2].网络传输的时候,需要等待文件下载完毕过后才能执行其他的任务,使用Coroutine可以帮助我们实现“xx事件完成过后,继续执行该程序块后续的内容”[3].UI方面我们会遇到一次性加载过多的Item导致手机卡顿的问题,使用Coroutine可以帮助我们将加载过程进行“分割”,缓解卡顿的问题,给加载过程一个“一帧,或者1s的歇息”[4].定时器[5].执行一个带着时间点的函数队列按照”走走停停“思想我们可以想出来很多的适用场景为什么用?不需要复杂的多线程,不需要你去专门做一个效果定时器,自己去累加时间管理时间,最简单的方式就是使用Unity3D提供的Coroutine机制。(它并不是多线程,它和咱们的其他Script一样在同一个主线程执行)总结:Coroutine就是提供给我们:方便暂停一个函数的执行(我们可以多次的暂停如果需要),直到我们设定的”条件“满足过后,继续执行该函数剩余的操作。在一个函数中你可以任意”暂停“和”继续执行“,只需要将你的代码块填到对应的位置即可。既然Coroutine可以帮助我们完成这么多内容为何要抛弃它而不去了解它呢?--------------------------------------------------------------步入正题ing---------------------------------------------------------------------------Coroutine如果要满足我们的需求:”等“-”执行“-”等“-”执行“......需要什么特性呢?1.对于我们一般的函数,当我们的函数执行完毕过后(return或者执行结束),所有的函数局部变量和”状态“都会被释放,但是对于Coroutine需要让一个函数多次的return,直到所有的return结束过后才会将函数的状态清空。Coroutine In Detail?如果对Coroutine内部的实现感兴趣,能够更好地掌握Coroutine,可以通过Google搜索”Unity3d coroutine in detail“可以搜索到很多有关介绍Coroutine使用的教程这是其中一篇牛人的猜测(不需要翻墙也能看到,只不过有点慢...)写了有关Coroutine的内部实现猜测,牛人的猜测一般都是”真相“.借助牛人的猜测,我在这里简单的总结下Coroutine的实现原理:内部其实是一个维护的迭代器(当你的协同报出错误的时候你可以看到提示的内容,会有一个MoveNext样子的错误提示,也可以验证)上代码应该看的很清楚,这个是文中进行的假设,将我们执行的Block代码块组织成一个迭代器,当执行完一个程序块过后,迭代器会自动执行MoveNext操作,我们也可以手动暂停终止。怎么定?(YieldInstruction)给我们提供的一些”Instructions“我们也可以定义自己的YieldInstruction,确定如何进行”等待“怎么启动:(StartCoroutine)怎么暂停:(StopCoroutine?&#;yield break;)只有使用string类型作为StartCoroutine启动的协同才能够被StopCoroutine进行暂停,如果你想暂停该GameObject启用的所有Coroutine直接用StopAllCoroutines();当然也可以使用yield break;根据逻辑条件内部终止一个coroutine;下面我们举一些简单的例子说明Coroutine的使用方法和一些注意事项:[1]最基本使用[2]定时器[3]指定一个时间执行函数序列,要知道其中的一个”坑“如果使用WaitForSeconds();你的TimeScale被设置成了0,那么你的Coroutine将不会返回除非你的TimeScale重新设置成了非0&#;,例子中展示了如何让启动的Coroutine不受到TimeScale的影响你可以自己写一个测试用例,点击按钮把TimeScale设置不同的&#;,然后调用不同的启动函数,看看自己的Coroutine是否受到TimeScale的影响.

推荐整理分享Unity3D武器Coroutine介绍(unity3d武器模型),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity2d武器,unity3d武器系统,unity3d武器系统,unity武器系统,unity武器特效教程,unity3d武器模型,unity武器系统,unity3d武器模型,内容如对您有帮助,希望把文章链接给更多的朋友!

Unity3D武器Coroutine介绍(unity3d武器模型)

一些要注意的Notes或者说使用的”坑“:多看文档1.TimeScale的问题:使用了WaitForSeconds()如果将TimeScale设置0,则不会返回;.2.Coroutine不是多线程,它和我们其他的脚本一样在主线程中顺序执行,它只是将我们的工作放置到”时间段“中执行而已.在Unity脚本执行流程中的具体位置可以参考文档3.当你的GameObjet被删除的时候,对应的Coroutines也会被终止(如果你还担心,那就在脚本OnDestroy的时候StopAllCoroutines就行了).4.没写一个Coroutine的时候都要看看终止的条件是什么,让Coroutine自己”自生自灭“是最好的写法,所以写的时候注意退出条件,否则除非给你的工程带来一些奇怪的问题(因为工程中的某个Coroutine一直在执行!).5.disable的GameObject没办法启动协同.6.多找资料,多实践,如果你害怕Coroutine,听别人说”坑“多,那他真的是在”坑“You.网上找了很多Coroutine相关的资料,一些不错的献上[1]一些使用注意事项

[置顶] 在unity4.6之前使用UnityEvent 孙广东:-3-8/:转载请注明出处:

Performance and Optimization For Mecanim[Unity] ThispagecontainssometipstohelpyouobtainthebestperformancefromMecanim,coveringcharactersetup,theanimationsystemandruntimeoptimizations.CharacterSetupNumberofBonesInsomecasesyouwillneedtocreatecharacter

学习Space shoot 1、发布设置选择File-BuildSetting-PlayerSetting或者Edit-ProjectSetting-Player,打开程序发布各个平台的设置。2、角色对象(Player)2.1、监测GameObject碰撞,需要添加R

标签: unity3d武器模型

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

上一篇:Unity3d 寻路功能 介绍及项目演示(unity2d寻路)

下一篇:[置顶] 在unity4.6之前使用UnityEvent(置顶语句子)

  • 小规模结转增值税会计科目有哪些
  • 企业避税和逃税的关系
  • 简易征收办法征税货物销售额
  • 加油卡充值可以退吗
  • 结转本月销售材料实际成本分录
  • 过路费报销属于什么费用科目
  • 退回资本金要交税吗
  • 会计分录借贷符号
  • 税率降低怎么算降税额
  • 企业所得税季报可以更正吗
  • 机械租赁增值税税率2022年
  • 员工异地缴纳社保协议
  • 支付业务招待费的税费是进项还是销项
  • 个体户超过3万怎么纳税
  • 建筑企业的职工由于不服管理违反规章制度
  • 可转换债券转换权的价格怎么算
  • 服务费发生退回怎么处理
  • 行政单位提现预算会计处理
  • 购买材料再进在建工程的账务处理
  • 未开票收入必须全部转开票收入吗为什么
  • 个税逾期申报怎么缴纳罚款
  • 电脑桌面刷新反应迟钝
  • php文件流
  • 股东实缴出资的证明
  • 如何使用腾讯电子签
  • php定义的异常
  • 跟银行借入长期存款
  • ccs是什么软件
  • 应收票据利息会计科目
  • 土建工程付款方式比例
  • 包工队人员受伤该由谁负责
  • 赠送的商品怎么入库 企业会计准则
  • 【历史上的今天】3 月 29 日:“机器人三定律”问世;电脑动画首次获得奥斯卡;Caldera Linux 沉浮史
  • 民间非营利组织如何纳税
  • 命令行延时
  • linux中搭建web服务器
  • 企业处置固定资产发生的净损失应计入
  • 应付票据贴现是负债吗
  • 增值税进项税额在借方还是贷方
  • 新办企业发票核定及申领
  • 餐饮个体户如何申请开票
  • mysql 中文排序是什么规则
  • 超市的收银小票丢了可以要求重新打印一张吗
  • 哪些税种影响当期损益
  • 支付宝和微信的财务统计
  • 影响企业营业利润的有哪些
  • 房地产企业增值税预征率
  • 火车票丢了怎么办
  • 用友t3软件财务软件具体操作
  • 公司给非本单位的个人转账有风险怎么平账
  • 进项税额与库存的关系
  • 营改增后增加了什么征税项目
  • 企业合并中或有对价的会计处理
  • 没实收资本还怎么做账
  • 商品进销存台账
  • 工业企业的生产费用包括哪些
  • 请根据你的了解叙述c++的特点,c++对c有哪些发展
  • mysqld关闭
  • win10不重启
  • 地图是英语如何改为中文
  • win10预览版21277
  • windows xp注册表清理
  • dos破解密码输入什么
  • QuiteRSS: Linux桌面的RSS阅读器 你值得拥有
  • ocxdll.exe - ocxdll是什么进程 有什么用
  • win10系统怎么设置电脑密码
  • win7如何限制网速
  • Win10 Build 14316启用Linux Bash 环境图文教程
  • win10标准用户权限
  • linux的安装
  • opengl配置vc6.0
  • 收购发票怎么抵扣申报
  • 社保逾期未申报会造成什么影响,要怎么处理
  • 甘肃国家税务总局
  • 河南省注册税务师协会电话
  • 南京市税务局举报中心电话
  • 吉林省地税局电话号码
  • 武汉税务电话号码
  • 定期定额个体户需要申报个人所得税吗
  • 北京ca证书下载安装流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设