在 Unity 脚本中,有许多事件函数在脚本执行时按预定的顺序执行。这个执行顺序如下所述:
首个场景加载
这些函数在场景开始时调用(对于场景中的每个对象调用一次)。
Awake
:在所有Start
函数之前,以及 prefab 实例化之后调用。(如果一个GameObject
在启动期间处于非活动状态,则在激活之前不会调用它。)OnEnable
(仅在对象处于活动状态时调用):在对象启用后调用。这发生在创建MonoBehaviour
实例时,例如加载关卡或实例化带有脚本组件的GameObject
时。OnLevelWasLoaded
:执行此函数是为了通知游戏已加载新关卡。
注意,对于添加到场景中的对象,所有脚本的 Awake
和 OnEnable
函数都将在任何一个脚本调用 Start
、Update
等之前调用。当然,对于在游戏过程中已被实例化的对象,这些函数并不能强制执行。
编辑器
Reset
:当脚本的属性首次附加到对象时,以及使用Reset
命令时,调用该函数来初始化脚本的属性。
第一帧之前
Start
:只有在脚本实例被启用时,才会在第一个帧更新之前调用Start
。
对于添加到场景中的对象,所有脚本的