Unity3D-C# 生命周期

本文详细介绍了Unity中的各种组件生命周期方法,包括Reset、Awake、OnEnable、Start、FixedUpdate、Update、LateUpdate、OnGUI、OnDisable和OnDestroy,以及它们的触发条件和使用场景。
摘要由CSDN通过智能技术生成

这里小龙带大家简单了解生命周期,小龙有哪里说的不对还请大佬指点

编译器阶段 - Reset

Reset在点击检视面板的Reset按钮或者首次添加该组件调用。(简单描述)

初始化阶段

Awake(唤醒事件)- 当脚本实例被载入时调用;  常用于游戏开始之前初始化变量或游戏状态。(只执行一次)

OnEnable(启用事件)- 当对象被激活时调用函数且只执行一次,通俗点说就是脚本组件激活时调用一次。

Start(开始事件)- 只在脚本实例启用时掉用一次,总在Awake后Update前执行。

物理阶段

FixedUpdate(固定更新事件)- 基于一个定时器被调用,它几乎等于真实时间0.02秒执行一次,执行N次,不受电脑帧率影响;常用于物理运动、碰撞等类似的物理性质就可以用FixedUpdate。

游戏逻辑

Update(更新事件)- 每帧执行一次、受电脑帧率影响、执行N次; 常用于非物理对象的移动,设备输入检测。

LateUpdate(稍后更新事件)- 执行N次,在所有的Update执行完毕后执行; 常用于摄像头跟随(如果这种类似的操作都在Update里执行,摄像头抖动或者一卡一卡的)。

渲染阶段

OnGUI(GUI渲染事件)- 执行次数是Update的2倍。

关闭阶段

OnDisable(警用事件)- 只行执一次,在OnDestroy前执行,脚本挂的物体禁用时调用。

OnDestroy(销毁事件)- 只行执一次,脚本挂的物体销毁时调用。

注意事项:1.Awake和Start在脚本启用时,会在首次更新之前调用。

                  2.生命周期事件,都是由Unity定义好的,且Unity会自动调用;Unity调用事件的顺序与代码书写顺序无关。

                  3.当一个物体没有被初始化过(也就是一直隐藏状态),如果物体初始化了会调用Awake、Start和OnEnable,在之后隐藏物体再显示物体就只会调用OnEnable。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值