位置: 编程技术 - 正文

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

发布时间:2024-02-27

推荐整理分享【一个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全面实践教程》(我置顶你也只顶你)

  • 增值税和所得税地方留存比例
  • 发票超过认证期有什么影响
  • 关税完税价格是到岸价吗
  • 机动车销售统一专票图片
  • 疫情期间生活服务业免征增值税截止时间
  • 员工福利开的专票怎么做分录
  • 企业所得税季度申报时间
  • 或有资产的确认条件ACCA
  • 母公司借款给子公司现金流量表科目
  • 一般纳税人混凝土税率
  • 资产减值准备会计科目编码
  • 小规模纳税人帮别人报关
  • 进口报关手续费
  • 人工材料成本怎么分配
  • 房地产开发企业销售自行开发的房地产项目
  • 税务编码如何快速查询
  • 为什么利润表的财务费用与利息费用逻辑不对
  • 建筑企业对员工管理制度
  • 反倾销税由谁缴纳
  • 转让股权应具备什么条件
  • 电子发票真伪查询
  • 城市公交可以承包吗
  • 无形资产怎么核算成本
  • 贷款利息支出属于
  • 固定资产残值清零怎么处理
  • 精英主板设置u盘启动
  • 老板拿的手机
  • ∧oc电脑bios
  • 喜加一平台
  • cmd. exe 程序错误
  • win10关闭端口号
  • 供热企业税收优惠政策
  • php实战
  • 采用公允价值模式计量的投资性房地产处置
  • 本地存储localstorage没有拿到最新值
  • php自动转换
  • 客户倒闭预收款怎么处理
  • 公司总人数和上社保人数
  • 计提折旧会计分录例题
  • 社保基数怎么申请下调
  • pandas遍历某一列将字符串转换为列表
  • phpcms rce
  • php防盗链
  • 怎么在网上申请信用卡
  • 党组织工作经费税前扣除
  • 总结一周内学习的Sql经验(一)
  • 支付增值税税控系统技术维护费用
  • 资产持有过程中缴纳的税收有哪些
  • 企业残障金缴纳标准
  • 取得交易性金融资产支付的相关税费计入
  • 结算备付金账户是什么帐户
  • 企业将购进的原材料分录
  • 社会团体会员费怎么入账
  • 汇算清缴补交所得税的分录
  • 企业投资分红帐务处理?
  • 个税 退手续费
  • 库存现金存入银行
  • 进项税认证未抵扣怎么做账
  • 预缴的附加税月末结转吗
  • 平均净资产是什么意思
  • Linux下MySQL5.7.18 yum方式从卸载到安装过程图解
  • php+mysql prepare 与普通查询的性能对比实例讲解
  • mysqlbinlog -vvv
  • 英伟达更新有用吗
  • linux中man的用法
  • ubuntu 4.10
  • wdsvc.exe - wdsvc 是什么进程
  • 电脑重新安装windows后还用激活吗
  • hookproxy.dll
  • win8适合打游戏吗
  • 今日推送是什么
  • windows mobile10
  • windows7 sp1升级包
  • opengl 顶点
  • EasyTouch Broadcast messages选项在js和c#下的用法
  • listview提高效率
  • 公司代扣税怎么办理
  • 哈尔滨工业大学录取分数线2023年
  • 税务备案超过15天
  • 美国买东西邮寄怎么寄
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号