Unity 3D - 生命周期

Unity 3D - 生命周期 :

执行次序:

Awake -> Start -> OnEnable -> FixedUpdate -> Update -> LateUpdate -> OnGUI -> Reset -> OnDisable -> OnDestory

  • Awake:用于在游戏开始之前初始化变量或游戏状态,在脚本整个生命周期内仅被执行一次。Awake在所有游戏对象初始化之后执行,因此可以在方法中安全地与游戏对象进行通信 .

  • Start:仅在所有脚本的Update方法第一次被调用前执行,且仅在脚本实例被启用时执行。Start在所有脚本的Awake方法全部执行完成后才执行 .

  • OnEnable:当对象变为可用或激活状态时此函数被调用 .

  • FixedUpdate:在固定的时间间隔执行,不受游戏帧率的影响。所以处理RigidBody时最好用FixedUpdate。FixedUpdate的时间间隔可在工程设置中更改(Edit –> Project Setting –> Time) .

  • Update:在每次渲染新的一帧时执行。由于该方法调用的频率与设备性能、被渲染对象有关,导致同一游戏在不同机器的效果不一致(因为Update方法的执行时间间隔不一致).

  • LateUpdate:所有脚本的Update方法调用后执行。例如相机跟随即是在LateUpdate方法中实现 .

  • OnGUI:在渲染和处理GUI事件时执行 .

  • Reset:用户点击属性监视面板(Inspector)的Reset按钮或首次添加该组件时执行,仅在编辑模式下执行 .

  • OnDisable:当对象变为不可用或非激活状态时此函数被调用 .

  • OnDestroy:当游戏对象将被销毁时执行 .

注意 :

必须所有脚本的Awake方法均执行完毕后才会开始执行这些脚本中的Start方法,而各脚本的Awake方法的调用顺序是随机的。因此,对象的创建可在Awake方法中实现,而对象的获取可在Start方法中实现,保证调用先后次序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值