unity学习之生命周期

本文详细介绍了Unity游戏引擎中的生命周期,包括Awake、OnEnable、Start、OnApplicationPause等关键函数的作用和调用时机。同时,还讨论了Update、FixedUpdate、LateUpdate在不同场景下的使用,以及协程的执行流程。此外,还涵盖了事件触发如OnCollisionEnter、OnTriggerEnter,以及对象销毁和退出应用时的回调函数。
摘要由CSDN通过智能技术生成
  • Awake:始终在任何 Start 函数之前并在实例化预制件之后调用此函数。(如果游戏对象在启动期间处于非活动状态,则在激活之后才会调用 Awake。)
  • OnEnable:(仅在对象处于激活状态时调用)在启用对象后立即调用此函数。在创建 MonoBehaviour 实例时(例如加载关卡或实例化具有脚本组件的游戏对象时)会执行此调用。
  • Start:仅当启用脚本实例后,才会在第一次帧更新之前调用 Start。
  • OnApplicationPause:在帧的结尾处调用此函数(在正常帧更新之间有效检测到暂停)。在调用 OnApplicationPause 之后,将发出一个额外帧,从而允许游戏显示图形来指示暂停状态。
  • Update
  • FixedUpdate:调用 FixedUpdate 的频度常常超过 Update。如果帧率很低,可以每帧调用该函数多次;如果帧率很高,可能在帧之间完全不调用该函数。在 FixedUpdate 之后将立即进行所有物理计算和更新。在 FixedUpdate 内应用运动计算时,无需将值乘以 Time.deltaTime。这是因为 FixedUpdate 的调用基于可靠的计时器(独立于帧率)。
  • Update&#
Unity生命周期函数是在继承MonoBehaviour类后才能使用的一些系统定义好的函数。这些函数会在游戏运行过程中自动被系统调用,而且调用顺序与在代码中的书写顺序无关。常用的生命周期函数包括: 1. Awake(): 当脚本实例被加载时调用,用于初始化脚本的变量和引用。 2. Start(): 在Awake()之后调用,用于初始化游戏对象的状态和设置。 3. Update(): 在每一帧更新时调用,用于实现各种游戏行为,例如移动、旋转等。 4. LateUpdate(): 在所有Update()函数执行完后调用,用于处理一些需要在Update()之后进行的操作。 5. FixedUpdate(): 固定时间间隔执行的更新函数,主要用于处理物理模拟和刚体运动等。 6. OnEnable()/OnDisable(): 当游戏对象被启用或禁用时调用,用于处理相关的逻辑。 7. OnDestroy(): 游戏对象被销毁时调用,用于释放资源和清理相关的数据。 8. OnBecameVisible()/OnBecameInvisible(): 当对象对于相机可见或不可见时调用,用于处理对象在可见性变化时的逻辑。 除了以上列出的常用函数外,还存在其他一些特殊用途的生命周期函数,例如OnTriggerEnter()/OnTriggerExit()用于处理碰撞逻辑,OnGUI()用于绘制GUI等。通过合理使用这些生命周期函数,可以在Unity中实现各种复杂的游戏行为和逻辑。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Unity学习生命周期函数](https://blog.csdn.net/weixin_43268649/article/details/120943472)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值