unity 事件函数及脚本生命周期流程图

博客介绍了Unity脚本的事件函数,如Awake、Start等的调用时机和特点,还给出了主要事件函数的执行次序,包括Awake、OnEnable等,最后提及了脚本生命周期流程图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

事件函数

  • Awake():总是比Start()先调用,只被调用一次。不管脚本是否处于非活动状态,都会被调用。(这里是测试的结果,与官方描述的“如果游戏对象在启动期间处于非活动状态,则在激活之前不会调用 Awake。”不符合,欢迎指正)
  • Start():当启用脚本实例后,在第一次帧更新之前被调用。只被调用一次。若脚本处于非活动状态则不会被调用。
  • OnEnable():脚本被激活时调用,可以被反复调用。与OnDisable()相对。
  • OnDisable():脚本被禁用时调用,可以被反复调用。与OnEnable()相对。
  • FixedUpdate():物理更新函数,循环执行,0.02秒执行一次(时间可更改),与帧率无关。
  • Update():每帧被调用,帧间隔时间受帧率影响。
  • LateUpdate():每帧被调用,在Update()执行完毕后执行,帧间隔时间与Update()一致。
  • OnApplicationQuit():应用程序退出之前被调用
  • OnDestroy():对象被销毁时被调用(销毁对象前若脚本处于激活状态,会先调用OnDisable()再调用OnDestroy())

主要事件函数执行次序

  1. Awake()
  2. OnEnable()
  3. Start()
  4. FixedUpdate()、Update()、LateUpdate()
  5. OnGUI()
  6. OnApplicationQuit()
  7. OnDisable()
  8. OnDestroy()

脚本生命周期流程图

在这里插入图片描述

### Unity3D 脚本开发流程 在 Unity3D 中,脚本开发是一个核心部分,它决定了游戏逻辑、对象行为以及其他交互特性。以下是详细的脚本开发流程: #### 1. 创建新脚本文件 开发者可以在 Unity 编辑器中创建新的 C# 脚本文件,并将其附加到场景中的 GameObject 上。这一步骤通常是在 Project 面板右键点击选择 Create -> C# Script 来完成。 #### 2. 定义类继承 MonoBehaviour 每一个用于控制 GameObject 行为的脚本都需要定义一个公共类来继承自 `MonoBehaviour` 类型[^2]。这是为了能够挂载该脚本至特定的游戏对象上并利用 Unity 提供的各种方法和属性。 ```csharp using UnityEngine; public class ExampleScript : MonoBehaviour { // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { } } ``` #### 3. 实现生命周期函数 Unity脚本具有固定的生命周期,在不同阶段会调用相应的方法。最常用的两个是 `Start()` 和 `Update()` 方法。前者仅执行一次,后者每帧都会被触发。除此之外还有其他重要的回调如 `Awake`, `OnEnable`, `FixedUpdate`, `LateUpdate` 等等。 #### 4. 添加成员变量与属性 根据实际需求向类内部添加字段或属性,它们可以用来存储数据或是配置参数。对于想要暴露给 Inspector 查看编辑的数据,则需声明为 public 或者带有 `[SerializeField]` 属性标记私有字段。 #### 5. 编写业务逻辑代码 在这个过程中,主要工作就是填充各个生命周期内的具体操作,比如响应输入事件、物理碰撞检测、动画播放等等。同时也可以引入外部库或者 API 接口来进行更复杂的功能扩展。 #### 6. 测试调整优化 最后要不断测试所写的脚本效果是否符合预期,必要时做出适当修改直至满意为止。期间可能会涉及到性能分析工具的应用以确保最终产品运行流畅高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值