Unity的生命周期函数

  1. 在Unity中,各个生命周期函数是在特定的时机被调用的,它们的执行顺序如下:

    1.Awake:


    当脚本实例被加载时调用,用于初始化数据。
    如果物体上有多个脚本,它们的Awake方法会在Start方法之前执行。


    2.OnEnable:


    当对象变为活动状态(enabled)或脚本被启用时调用。
    如果在场景加载后对象已经是活动状态,OnEnable会在Awake之后立即调用。


    3.Start:


    在对象第一次帧更新前调用,用于初始化数据。
    在Awake之后调用,如果对象启用时已经被激活。


    4.FixedUpdate:


    固定的物理更新时间步长(可以通过设置Time.fixedDeltaTime调整)。
    用于处理物理更新和固定间隔的计算。


    5.Update:


    每帧调用一次,用于处理游戏逻辑。
    大多数游戏逻辑和用户输入处理都应该放在这里。


    6.LateUpdate:


    在所有Update调用后被调用,确保在所有脚本的Update方法执行完毕后执行。
    通常用于跟随摄像机,处理相机移动和物体追踪等。


    7.OnDisable:


    当对象变为非活动状态(disabled)或脚本被禁用时调用。
    用于清理和释放资源,如移除事件监听器等。


    8.OnDestroy:
    当对象被销毁前调用,用于最终的清理工作和资源释放。

    这些生命周期函数的执行顺序是固定的,并且对于每个对象的每个脚本实例,它们都会按照上述顺序依次被调用。

        生命周期函数并不是基类中的成员,为什么Unity可以自动执行这些函数?

        Unity帮助使用者记录了场景中所有GameObject对象以及各个关联的脚本对象,在游戏执行的特定时期,通过函数名反射(C#的反射机制)得到脚本对象中的对应生命周期函数,然后在特定时机执行它们。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值