1. Awake()
作用:
Awake()
是 Unity 脚本中的一个生命周期方法,在脚本实例化时被调用。它通常用于进行初始化操作,比如设置初始状态、引用其他组件等。
调用时机:
Awake()
在对象激活的时刻调用,并且它会在场景中的所有对象的 Start()
方法之前执行。
Awake()
只会在脚本或物体第一次被加载时调用一次。
- 这意味着
Awake()
适合用来做一些 不依赖于其他对象或场景 的初始化操作。
典型用法:
private void Awake()
{
anim = GetComponentInChildren<Animator>();//获取组件
rb = GetComponent<Rigidbody2D>();
cd = GetComponent<CircleCollider2D>();
}
GetComponentInChildren<Animator>()
、GetComponent<Rigidbody2D>()
和 GetComponent<CircleCollider2D>()
是用来获取组件的,它们的调用依赖于组件的存在。如果你将这些调用放在 Start()
中,且其他组件或对象(例如,父对象)还没有准备好,可能会导致找不到这些组件,从而抛出错误。
- 在
Awake()
中,所有附加到对象上的组件