1.Unity脚本生命周期

来源:互联网 发布:js input 自动填充 编辑:程序博客网 时间:2024/05/16 01:03

Unity中脚本按照一定的生命周期执行

1.Awake

最早执行,在GameObejct对象的数据和状态的初始化后执行,只会触发一次。

tips:GameObject实例化到场景中后在激活的状态下才会初始化,如果GameObject从来未激活,它的脚本上的Awake永远不会被调用。

即时触发,GameObject第一次active的时候调用。

2.Start

在脚本第一次调用Update之前调用,只会触发一次。

3.OnEnable

在脚本状态由disabled变为enabled状态是触发一次,Unity内部可能将脚本初始置为diabled,所以如果我们实例化一个激活的GameObject,并且在挂上一个enabled了的脚本后把它加入场景会调用一次OnEnable,并且早于Start。

4.OnDisable

在脚本由enabled状态变为disabled状态的时候会调用。

tips:OnEnable和OnDisable事件的触发是即时的,并且这两个事件是综合考虑GameObject的active状态和脚本的enabled状态的。所以不要在OnEnable里面把脚本设置为disabled同时在OnDisable中把脚本设置为enabled,会导致死循环!!!

5.Update

在每一帧调用,用于实现各种行为逻辑

6.LateUpdate

在每一帧调用,但是是在Update之后触发。常用的一种情况是相机跟随移动角色:角色移动逻辑在Update里面实现,相机跟随逻辑在LateUpdate里面实现。

7.OnDestroy

在组件被销毁时调用,只有GameObject被激活过才会触发。


0 0