[Unity基础]Unity的生命周期
来源:互联网 发布:应用特征数据库升级 编辑:程序博客网 时间:2024/05/21 08:59
本文参考自官方文档:https://docs.unity3d.com/Manual/ExecutionOrder.html。
Unity的生命周期
官方给的流程图很清晰很详细,这里个人加一些说明:
1.Reset只会在编辑器中调用,来初始化脚本的属性,当它第一次连接到对象时,并且在使用重置命令时(点击脚本组件上齿轮里Reset)。
2.顺序:Awake -- OnEnable --Start
3.OnEnable每次脚本对象 由不可用变为可用时候调用(即所在物体Active且脚本组件Enable)
4.物体初始没有激活,则其身上脚本不会运行不会参与生命周期;初始激活后取消激活,则会最后调用OnDisable后,销毁时候仍调用OnDestroy。
5.物体初始激活,但是脚本未激活,会且只会运行Awake,OnEable Start Update都不会运行。
6.想当于Awake和OnDestroy一样权重,不管脚本的Enable状态,只看物体的Active。
7.OnEnable和OnDisable在脚本的每次enable-active都会调用,Awake和Start只会执行一次;直到脚本组件销毁。
8.自测了一下:初始,所有脚本组件的Awake顺序和OnEnable顺序不可控,但是一定所有的Start都在任意的OnEnable后面。
<即可能物体A的组件的Awake在B的OnEnable后面,也可能A的OnEnable在B的Awake前面,看资料也说不可控>
9.yield关键字相关可参考:http://blog.csdn.net/qq_33337811/article/details/73522063(Update和LateUpdate之间)
10.FixedUpdate经常会比Update调用的更频繁:如果帧率很低,它可以被多次调用,如果帧率很高,那么它可能不会在帧之间调用。所有的物理计算和更新发生在FixedUpdate之后。当在FixedUpdate中应用移动计算时,您不需要乘以Time.deltatime,这是因为FixedUpdate被调用在一个可靠的计时器上,独立于帧速率。
11.Update每帧调用一次(帧更新的主要使用方法)
12.LateUpdate:每帧调用一个,在Update之后。当LateUpdate开始的时候,所有的Update中计算都会完成。LateUpdate常用的是第三人称摄像头,如果你在Update中让你的角色移动或旋转,你可以在LateUpdate执行所有的相机移动和旋转计算,这将确保角色在摄像机呈现前完全移动。
13.OnApplicationQuit:这个函数在应用程序退出之前调用所有的游戏对象。在编辑器中,当用户停止播放模式时调用它。
下为官方的生命周期流程图:
- [Unity基础]Unity的生命周期
- [Unity基础]unity脚本的生命周期
- Unity 基础 - 脚本的生命周期
- Unity基础.001脚本的生命周期
- Unity脚本的生命周期
- Unity脚本的生命周期
- Unity 脚本的生命周期
- unity的生命周期
- Unity的生命周期函数
- unity的生命周期
- Unity脚本的生命周期
- [Unity-10] Unity脚本的生命周期
- Unity生命周期
- Unity生命周期
- Unity 生命周期
- Unity中脚本的生命周期
- Unity中Monobehaviour的生命周期
- Unity 脚本的生命周期流程
- unity shader 彩图变灰
- HDU 1863 畅通工程
- **Python快速入门(一)**
- python编程 从入门到实践 第八章 函数 及课后题
- 【UVA1455】Kingdom
- [Unity基础]Unity的生命周期
- 用python写网络爬虫读书笔记 第一章网络爬虫简介
- Report CodeForces
- TensorFlow方法名称报错解决
- 【笔试题】Week03
- mysql5.6 安装启动失败 MySQL Daemon failed to start
- Nginx实现多虚拟主机配置
- ZOJ1027 Human Gene Functions
- [构造] 51Nod1385 凑数字