位置: 编程技术 - 正文

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

  • 小规模纳税人广告费扣除标准
  • 小规模纳税人收入超过500万怎么办
  • 企业出售资产要交增值税吗
  • 非营利组织企业所得税季度申报表
  • 购买土地的契税怎么计算
  • 进项税额转出是在当月还是回到所属期
  • 期初和期末余额均在借方的账户,一般属于
  • 营业外支出增加的原因
  • 进项税额转出还能认定虚开吗
  • 固定资产减少当月
  • 政府购买服务合同最多签几年
  • 电子承兑背书一般多久到账
  • 手工做账流程图
  • 申报抵扣了不做账怎么处理?
  • 所税税汇算补交上一年度税金如何做账务处理?
  • 增值税普票跨月怎么冲红
  • 扶贫算出差吗
  • 销售货物收入与营业收入
  • 房租开的专票怎么做账
  • 固定资产的入账价值怎么计算
  • 退进项税留抵是什么意思
  • 企业的不征税收入用于支出所形成的资产,其计算的折旧
  • 全资的子公司
  • 以前年度原材料调出怎么做会计分录
  • 收货款时少收几十元,分录怎么做
  • windows8.1下Apache+Php+MySQL配置步骤
  • 用系统自带命令行安装WIN10
  • 专项用途财政性资金纳税调整表
  • 原材料按实际成本核算的会计处理
  • gain_trickler_3202.exe 进程查询 gain_trickler_3202进程是什么文件
  • 三年以上的应付账款
  • 资产负债表中应收账款根据什么填列
  • ros urdf
  • php代码提示
  • 前端2020年趋势
  • centos8 telnet
  • 结转成本涉及的科目
  • 本月没有销售收入,需要申报增值税吗
  • 补发工资个人所得税税
  • 什么是简易征收?其公式是什么?
  • 财务管理税后利息费用都包含什么
  • 公司员工食堂买菜没发票怎么办
  • 单位食堂账目
  • 土地违约金的法律规定
  • 短期借款怎么做账务处理
  • 水利基金减免
  • 固定资产折旧的会计凭证
  • 受同一方重大影响的企业之间为什么不构成关联方
  • 收到技术服务费计入什么科目
  • 现金和银行存款的区别
  • asp 分页
  • win10系统优酷播放不了
  • XP系统如何设置变流畅
  • debian更改用户名
  • win8系统如何查看电脑mac物理地址
  • linux操作系统版本有哪些
  • PHP startup: Unable to load dynamic library错误的错误
  • wlms.exe是什么
  • linux命令行在哪
  • kazaalite.exe是什么进程 kazaalite进程有什么用
  • php创建注释的方法
  • win10怎么把系统盘迁移到另一块盘
  • windows10x预览版
  • 简述dom的组成
  • unity de
  • k mean python
  • cocos2dx schedule
  • linux中的shell命令
  • python字符串常用方法
  • angular中ui calendar的一些使用心得(推荐)
  • android 刷新view
  • shell脚本.sh
  • java script教程
  • javascript中字符串
  • 荆州市税务局现任名单
  • 随子女定居外省好吗
  • 公共卫生委员会领导小组
  • 农民专业合作社章程完整版
  • 安徽马鞍山税务局体检名单
  • 普通发票每个月有限制吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设