Unity生命周期函数

生命周期函数的访问修饰符一般为private或者protected,支持继承多态

按照调用顺序:

Awake:当对象(脚本对应的类对象)被创建时,才会调用该生命周期函数。类似构造函数,一个对象只会调用一次,在一个类对象刚创建时进行一些初始化操作。是否调用与脚本是否激活无关,与GameObject激活有关(未激活不调用),而在Awake调用之前,所有GameObject对象都已经创建完成,可以在Awake中通过Find方法找到对应的物体。

打印信息:Debug.Log/Debug.LogError/Debug.LogWarning

OnEnable:依附的GameObject对象每次被激活时调用(SetActive)

Start:进行第一次帧更新之前才会执行。只有在GameObject被激活后才会被调用,但重复激活只会被调用一次,即只有在第一次被激活时会调用。在Start中初始化不一定很安全,因为可能会被其他自定义的函数抢先。

与Awake区别具体参考:https://blog.csdn.net/puppet_master/article/details/50975186

FixedUpdate:主要用于物理更新,每个固定时间间隔执行,时间设置在project setting->Time->Fixed Timestep中设置

Update:主要用于处理游戏核心逻辑更新的函数。

LateUpdate:一般用于处理摄像机位置更新相关的内容,Update和LateUpdated之间,Unity进行了一些处理,对动画相关的更新,影响渲染的结果,如果在Update中更新摄像机,即摄像机位置变化后再更新动画,可能会出现渲染的错误,其运行帧率与Update相同

OnDisable:失活时调用

OnDestroy:销毁物体时调用,会先调用OnDisable

如果不打算再其中写逻辑,就不要写相关函数,因为通过反射调用会有额外开销

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值