在Unity脚本中,有一些事件函数会在脚本执行时按预定顺序执行。 该执行顺序如下所述:
编辑
- Reset:Reset是用来初始化脚本属性的,在第一次脚本附在对象上的时候和按下Reset按钮的时候会被执行。
第一次场景加载
- Awake:Awake方法总是在Start方法执行之前和在一个prefab初始化后被调用。(如果一个gameobject处于inactive的状态,则Awake不会被调用,一直会到gameobject处于active状态的时候会被调用)
- OnEnable:(只有在对象处于活动状态时才会调用):在启用对象后立即调用此函数, 当创建一个MonoBehaviour实例时会发生。例如,当一个关卡加载或者一个带有脚本的GameObject实例化的时候。
- OnLevelWasLoaded:这个方法被执行,是为了通知游戏已经加载了新的关卡。
请注意,对于添加到场景中的对象,所有脚本的Awake和OnEnable函数将在调用其中的任何脚本的Start,Update等之前调用。 当然,在游戏过程中对象被实例化时,这不能被强制执行。
一般开发中都是在Awake函数中获取游戏对象或者脚本实例的信息,然后在Start函数中进行一些获取之后的初始化设置。
Awake、OnEnable、Start,都是游戏开始运行前就调用的方法。
GameObject的Activity为t