note 目录
1:MonoBehaviour生命周期
2:使用MonoBehaviour的一些注意点
1:MonoBehaviour生命周期
MonoBehaviour
是所有组件的基类,在unity中,如果要写自己的组件,需要显示的继承MonoBehaviour
。
MonoBehaviour
有7个可以重写的方法:
- Awake
:当一个脚本实例被载入时Awake
被调用。我们大多在这个类中完成成员变量的初始化
Start
:仅在Update
函数第一次被调用前调用。因为它是在Awake
之后被调用的,我们可以把一些需要依赖Awake
的变量放在Start``里面初始化。 同时我们还大多在这个类中执行
StartCoroutine进行一些协程的触发。要注意在用C#写脚本时,必须使用
StartCoroutine“`开始一个协程,但是如果使用的是JavaScript,则不需要这么做Update
:当MonoBehaviour
启用时,其Update
在每一帧被调用FixedUpdate:当
MonoBehaviour
启用时,其 FixedUpdate 在每一固定帧被调用。处理Rigidbody
时,需要用FixedUpdate
代替Update
。例如:给刚体加一个作用力时,你必须应用作用力在FixedUpdate
里的固定帧,而不是Update
中的帧。(两者帧长不同)OnEnable
:当对象变为可用或激活状态时此函数被调用OnDisable
:当对象变为不可用或非激活状态时此函数被调用OnDestroy
:当MonoBehaviour
将被销毁时,这个函数被调用
2:使用MonoBehaviour的一些注意点
缓存已经取到的组件即在
MonoBehaviour
的方法中经常被访问的组件最好在把它当作一个私有成员变量存储起来最好不用使用命名空间(namespace),目前 unity对命名空间不是很支持
私有(
private
)和保护(protected
)变量只能在专家模式中显示,属性不被序列化或显示在检视面板