Unity脚本生命周期

本文详细介绍了Unity中脚本的生命周期,从初始阶段的Awake和Start,到物理阶段的FixedUpdate,再到输入事件和游戏逻辑处理,以及场景渲染、结束阶段的函数调用,最后是脚本调试的方法,包括控制台调试和VS调试。
摘要由CSDN通过智能技术生成


学习各种方法,了解方法调用的时机

  • Unity脚本从唤醒到销毁的过程
  • 消息:当满足某种条件Unity引擎自动调用的函数
  • 又称必然事件

初始阶段

  • Awake 唤醒:
    物体载入时立即调用一次;
    常用于在游戏开始前进行初始化,可以判断当满足某种条件执行此脚本 this.enable=true
    执行时机:
  • OnEnable 当可用:
    每当脚本对象启用时调用。可调用多次
  • Start 开始:
    物体载入且脚本对象启用时被调用一次;
    常用于数据或游戏逻辑初始化,执行时机晚于Awake

物理阶段

  • FixedUpdate 固定更新:
    脚本启用后,固定时间被调用,适用于对游戏对象做物理操作,例如移动等,不会受到渲染影响。
    设置更新频率:“Edit”–>“Project Setting”–>“Time”–>"Fixed Timestep"值,默认为0.02s
  • OnCollisionXXX 碰撞:
    当满足碰撞条件时使用。
  • OnTriggerXXX 触发:
    当满足触发条件时调用。

输入事件

  • OnMouseEnter 鼠标移入:
    鼠标移入到当前 Collider 时调用。
  • OnMouseOver 鼠标经过:
    鼠标经过当前 Collider 时调用。
  • OnMouseExit 鼠标离开:
    鼠标离开当前 Collider 时调用。
  • OnMouseDown 鼠标按下:
    鼠标按下当前 Collider 时调用。
  • OnMouseUp 鼠标抬起:
    鼠标在当前 Collider 上抬起时调用。

物体需有Box Collider组件

游戏逻辑

  • Update 更新:
    脚本启用后,每次渲染场景时调用,频率与设备性能及渲染量有关,执行间隔不固定。
    适合处理游戏逻辑,为了简化代码,通常把FixedUpdate中的代码也放入Update
  • LateUpdate 延迟更新:
    在 Update 函数被调用后执行,适用于跟随逻辑。

Update与LateUpdate执行在同一帧

场景渲染

  • OnBecameVisible 当可见:
    当 Mesh Renderer 在任何相机上可见时调用。
  • OnBecameVisible 当不可见:
    当 Mesh Renderer 在任何相机上都不可见时调用。

结束阶段

  1. OnDisable 当不可用:对象变为不可用或附属对象非激活状态时此函数被调用。
  2. OnDestroy 当销毁:
    当脚本销毁或附属的游戏对象被销毁时使用。
  3. OnApplicationQuit 当程序结束:
    应用程序退出时被调用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值