在Unity3D脚本中,有许多函数(awake,OnEnable,start),它们会按照一定的顺序执行,我们把这个顺序叫做脚本的生命周期
我们直接引用一张图来讲解
我们来介绍几个主要的
Awake() 唤醒
当一个脚本实例被载入时Awake被调用。
Awake用于在游戏开始之前初始化变量或游戏状态。在脚本整个生命周期内它仅被调用一次.Awake在所有对象被初始化之后调用,所以你可以安全的与其他对象对话或用诸如 GameObject.FindWithTag 这样的函数搜索它们。每个游戏物体上的Awke以随机的顺序被调用。因此,你应该用Awake来设置脚本间的引用,并用Start来传递信息。Awake总是在Start之前被调用。它不能用来执行协同程序。
OnEnable() 当启用
当对象被启用并激活状态时此函数被调用。
Start() 开始
Start仅在当第一次脚本启用Update方法被调用之前调用。
就像Awake函数,在该脚本的生命周期Start被初始化一次。然而,Awake被调用时在脚本对象初始化时调用,不管脚本是否被启用。在同一帧如果在初始化的时候没有启用脚本,Start不会被调用。
FixedUpdate() 固定更新
当MonoBehaviour启用时,其 FixedUpdate 在每一帧被调