Unity-API-事件函数(生命周期函数)

1)Reset

  1. 作用:初始化脚本属性,常用于在监视面板中提供默认值。
  2. 调用情况:只能在不运行程序时调用。
  3. 调用时间、次数:脚本第一次挂载到物体上时调用一次;使用Reset命令后调用一次。

2)Awake

  1. 作用:代替构造函数进行初始化,在unity这里,组件的初始化不使用构造函数。
  2. 调用情况:加载场景时调用;GameObject被激活时调用;使用Instantiate实例化GameObject时调用。
  3. 调用时间、次数:在脚本实例的生存期内,unity仅调用Awake一次,即使物体被反复激活也只会在最开始的那次调用一次。
  4. 注意:unity中每个物体的Awake顺序是不确定的,人为的干涉(即设计)来保证程序的正确定和稳定性。

3)onEnable

  1. 作用:给属性重复赋值,变为初始状态。
  2. 调用情况:游戏物体被激活;脚本组件被激活。
  3. 调用时间、次数:每次游戏物体被激活或脚本被激活都会调用一次,即物体被反复激活onEnable会被反复调用。(区别于Awake)

4)Start

  1. 作用:后于Awake执行,方便控制逻辑的前后调用顺序。
  2. 调用情况:游戏物体被激活;脚本组件被激活。
  3. 调用时间、次数:脚本实例激活时,在第一帧的Update之前被调用一次

5)Update

  1. 作用:实时更新数据,接受输入数据。
  2. 调用情况:游戏物体被激活;脚本组件被激活。
  3. 调用时间、次数:每帧都会调用,每秒调用60次左右(根据当前电脑的的性能和状态)。

6)LateUpdate

  1. 作用:安排脚本的执行顺序。(如摄像机跟随,一定是人物先移动了,摄像机才会跟随。)
  2. 调用情况:游戏物体被激活;脚本组件被激活。
  3. 调用时间、次数:在调用所有Update函数后调用,每秒调用60次左右

7)OnDisable

  1. 作用:用于一些对象的状态重置,资源回收与清理。
  2. 调用情况:游戏物体被禁用;脚本组件被禁用;游戏物体被销毁。
  3. 调用时间、次数:每次游戏物体被禁用或脚本被禁用都会调用一次,即物体被反复激活onDisable会被反复调用。(OnEnable是在激活时调用)

8)OnApplicatoinQuit

  1. 作用:用于处理一些游戏退出后的逻辑。
  2. 调用情况:在程序退出之前所有的游戏对象都会调用这个函数;在编辑器中会在用户终止播放模式时调用;在网页视图关闭时调用。
  3. 调用时间、次数:满足情况时调用一次。

9)OnDestroy

  1. 作用:用于一些游戏物体的销毁。
  2. 调用情况:场景或游戏结束;停止播放模式将终止应用程序;在网页视图关闭时调用。
  3. 调用时间、次数:满足情况时调用一次。


对变量的赋值顺序:

        声明变量时赋值 > 监视面板赋值 > Awake > OnEnable > Start > 外部类中赋值

注意:我们一般对一个对象赋值,或者说想要从外部对一个对象的属性或者成员变量的值进行更改的前提是,这个对象已经有了(意味着start方法已经调用),所以外部赋值会后于Start方法进行调用。

整理自:Siki学院课程


目录

1)Reset

2)Awake

3)onEnable

4)Start

5)Update

6)LateUpdate

7)OnDisable

8)OnApplicatoinQuit

9)OnDestroy

猜你喜欢

转载自blog.csdn.net/weixin_42647625/article/details/131116209
今日推荐