Unity 3D - 生命周期 :

本文详细介绍了Unity引擎中脚本的生命周期,包括Awake、Start等方法的执行顺序及其应用场景。Awake用于初始化,Start在所有Awake执行完后调用,OnEnable在对象激活时触发,FixedUpdate适用于物理计算,Update则在每帧渲染时执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

执行次序:
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方法中实现,保证调用先后次序。
————————————————
版权声明:本文为CSDN博主「Yu______________」的原创文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值