位置: 编程技术 - 正文

【一个Green hand 的Unity3D之路】Unity3D中自带事件函数的执行顺序(一个绿色的球英语怎么读)

编辑:rootadmin

推荐整理分享【一个Green hand 的Unity3D之路】Unity3D中自带事件函数的执行顺序(一个绿色的球英语怎么读),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:一个绿色的英文怎么说,一个绿包用英语怎么说,一个绿色,一个绿色苹果英文,一个绿色用英语怎么说,一个绿色用英语怎么说,一个绿色的球英语怎么写,一个绿色的球英语怎么写,内容如对您有帮助,希望把文章链接给更多的朋友!

在Unity3D脚本中,有几个Unity3D自带的事件函数按照预定的顺序执行作为脚本执行。其执行顺序如下:

编辑器(Editor)

Reset:Reset函数被调用来初始化脚本属性当脚本第一次被附到对象上,并且在Reset命令被使用时也会调用。编者注:Reset是在用户点击Inspector面板上Reset按钮或者首次添加该组件时被调用。Reset最常用于在见识面板中给定一个默认&#;。

第一次场景加载(First Scene Load)这些函数会在一个场景开始(场景中每个物体只调用一次)时被调用。

Awake:这个函数总是在任何Start()函数之前一个预设被实例化之后被调用,如果一个GameObject是非激活的(inactive),在启动期间Awake函数是不会被调用的直到它是活动的(active)。OnEnable:只有在对象是激活(active)状态下才会被调用,这个函数只有在object被启用(enable)后才会调用。这会发生在一个MonoBehaviour实例被创建,例如当一个关卡被加载或者一个带有脚本组件的GameObject被实例化。

注意:当一个场景被添加到场景中,所有脚本上的Awake()和OnEable()函数将会被调用在Start()、Update()等它们中任何函数被调用之前。自然的,当一个物体在游戏过程中被实例化时这不能被强制执行。

第一帧更新之前(Before the first frame update)

Start:只要脚本实例被启用了Start()函数将会在Update()函数第一帧之前被调用。

对于那些被添加到场景中的物体,所有脚本上的Start()函数将会在它们中任何的Update()函数之前被调用,自然的,当一个物体在游戏过程中被实例化时这不能被强制执行。

在帧之间(In between frames)

OnApplicationPause:这个函数将会被调用在暂停被检测有效的在正常的帧更新之间的一帧的结束时。在OnApplicationPause被调用后将会有额外的一帧用来允许游戏显示显示图像表示在暂停状态下。【一个Green hand 的Unity3D之路】Unity3D中自带事件函数的执行顺序(一个绿色的球英语怎么读)

更新顺序(Update Order)

当你在跟踪游戏逻辑和状态,动画,相机位置等的时候,有几个不同的事件函数你可以使用。常见的模式是在Update()函数中执行大多数任务,但是也有其它的函数你可以使用。

FixedUpdate:FixedUpdate函数经常会比Update函数更频繁的被调用。它一帧会被调用多次,如果帧率低它可能不会在帧之间被调用,就算帧率是高的。所有的图形计算和更新在FixedUpdate之后会立即执行。当在FixedUpdate里执行移动计算,你并不需要Time.deltaTime乘以你的&#;,这是因为FixedUpdate是按真实时间,独立于帧率被调用的。Update:Update每一帧都会被调用,对于帧更新它是主要的负荷函数。LateUpdate:LateUpdate会在Update结束之后每一帧被调用,任何计算在Update里执行结束当LateUpdate开始时。LateUpdate常用为第三人称视角相机跟随。

渲染(Rendering)

OnPreCull:在相机剔除场景前被调用。剔除是取决于哪些物体对于摄像机是可见的,OnPreCull仅在剔除起作用之前被调用。OnBecameVisible/OnBecameInvisible:当一个物体对任意摄像机变得可见/不可见时被调用。OnPreRender:在摄像机开始渲染场景之前调用。OnRenderObject:在指定场景渲染完成之后调用,你可以使用GL类或者Graphics.DrawMeshNow 来绘制自定义几何体在这里。OnPostRender:在摄像机完成场景渲染之后调用。OnRenderImage(Pro Only):在场景徐然完成之后允许屏幕图像后期处理调用。OnGUI:为了响应GUI事件,每帧会被调用多次(一般最低两次)。布局Layout和Repaint事件会首先处理,接下来处理的是是通过Layout和键盘/鼠标事件对应的每个输入事件。OnDrawGizmos:用于可视化的绘制一些小玩意在场景视图中。

协同程序(Coroutines)

正常的协同程序更新是在Update函数返回之后运行。一个协同程序是可以暂停执行(yield)直到给出的依从指令(YieldInstruction )完成,写成的不同运用:

yield:在所有的Update函数都已经被调用的下一帧该协程将持续执行。yield WaitForSeconds:一段指定的时间延迟之后继续执行,在所有的Update函数完成调用的那一帧之后。yield WaitForFixedUpdate:所有脚本上的FixedUpdate函数已经执行调用之后持续。yield WWW:在WWW下载完成之后持续。yield StartCoroutine:协同程序链,将会等到MuFunc函数协程执行完成首先。

销毁(When the Object is Destroyed)

OnDestory:这个函数在会在一个对象销毁前一帧调用,会在所有帧更新一个对象存在的最后一帧之后执行,对象也许会响应Object.Destroy 或一个场景关闭时被销毁。

退出游戏(When Quitting)这些函数会在你场景中所有的激活的物体上调用:

OnApplicationQuit:这个函数在应用退出之前的所有游戏物体上调用,在编辑器(Editor)模式中会在用户停止PlayMode时调用,在网页播放器(web player)中会在网页视图关闭时调用。OnDisable:当行为变为非启用(disable)或非激活(inactive)时调用。

脚本的生命周期流程图

[置顶] 我的新书——《UGUI全面实践教程》 欢迎大家到我们团队的官网上查看此书的详细介绍,下面是链接《UGUI全面实践教程》我们的宗旨是:我们只做最专业的新技术传播者!为了让广大程序

unity中事件分发系统 EventDispatcher 出处:

DFTween库的类层次结构 出处:

标签: 一个绿色的球英语怎么读

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

上一篇:unity3d初级开发者必须掌握unity3d引擎小技巧(unity 3d游戏开发(第2版))

下一篇:[置顶] 我的新书——《UGUI全面实践教程》(我置顶你也只顶你)

  • 应纳税所得额为负数是什么意思
  • 公路客运企业应走集约化经营
  • 买材料通过公司走账合法吗
  • 建筑行业小规模纳税人免税政策
  • 间接费包含哪些具体内容
  • 企业出现税务问题的案例
  • 变更了公司名称以前的发票还可以抵扣吗
  • 年度财务报表和季度财务报表一样吗
  • 股东以外的人投资怎么做账
  • 现金支出的一般程序
  • 手续费及佣金收入
  • 周转材料调拨调入单位如何做账
  • 递延收益为什么要摊销
  • 应付汇差是什么意思
  • 运输公司购买运输车辆保险进什么科目
  • 反倾销税由谁缴纳
  • 公司筹建期的个税怎么交
  • 进项明细和开票明细不一致怎么办
  • 增值税专用发票电子版
  • 人工成本如何申报个税
  • 预缴和实际应付的区别
  • 利润转增资本交什么税
  • 公积金多交退回怎么申报个税
  • 普通发票也属于增值税发票吗
  • 预收购货款的会计分录
  • 契税和增值税的计税依据
  • 投资类公司增资
  • 建筑工程购买的家用清洁电器能勾选认证吗
  • wordpress 常用函数
  • 企业所得税年报申报时间
  • 小规模纳税人清卡是每月一次吗
  • uniapp+uview
  • 制造业企业资金管理
  • 欧罗巴山国家公园旅游攻略
  • 产品工人工资属于制造费用吗
  • Cursor!!!GPT-4帮我写代码
  • win11硬件加速gpu计划怎么关
  • 什么是异步函数
  • yolov5 教程
  • 验证码php代码
  • thinkphp消息通知
  • 员工工资属于什么会计科目
  • 残保金的计费依据
  • 小微企业所得税优惠政策最新2022
  • 进项税额转出如何做分录
  • python怎么运行程序
  • 织梦如何使用
  • 织梦官网倒闭了吗
  • 出差发生的旅游事件
  • 错开发票所需要提供的资料和时效要求是?
  • 没有发票的费用支出怎么入账
  • 应收账款余额百分比法与账龄分析法有何异同
  • 资源税类的税种是
  • 拯救你的方法
  • sqldbmon
  • 解析sql语句
  • 暂估成本账务处理办法
  • 汇算清缴银行手续费扣除比例是多少
  • 公司人身意外保险多少钱
  • 4s店送的赠品怎么样
  • 购进商品用于销售
  • 收到投资款现金流量放到哪里
  • 应付暂估余额很大怎么办
  • sqlserver的分页语句
  • mysql的安全级别
  • ubuntu怎样
  • 系统占用90g怎么删
  • win8 chkdsk
  • winxp怎样设置网络
  • windows对高分屏怎么这么差
  • win10激活突然失效
  • win7系统网速太慢怎么办
  • 多个checkbox选中触发事件
  • JavaScript中的数据类型分为两大类
  • jQuery插件安装教程
  • 批处理之家官网
  • linux jhat
  • javascript的push方法
  • mac版本eclipse 怎么使用
  • 农产品电子发票可以抵扣吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设