This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
本手册提供总体说明,并链接到各主题的独立手册。
Defold 支持多个层面的自动化。选择适合任务的接口,是实现高效自动化最重要的方面之一。下表可以帮助您为给定操作选择最简单的接口:
| 层级 | 用途 |
|---|---|
| 编辑器脚本 | 自定义命令和编辑器工作流程或集成,用于加快测试和开发,例如创建关卡、资源 |
| 编辑器 UI 脚本 | 利用编辑器脚本构建自定义可视化工具、弹窗、配置器或用户界面 |
| 编辑器 HTTP API | 通过 OpenAPI 操作、项目资源、构建、编辑器命令、预览、偏好设置、控制台输出或编辑器脚本控制 Defold 编辑器中打开的游戏项目,为自定义操作、外部工具、IDE 集成和测试控制器提供支持 |
| Bob CLI | 从命令行构建项目、创建数据存档或独立包,以及生成报告、执行 CI |
| 生命周期钩子 | 在编辑器构建或打包前后执行验证或生成 |
| 引擎 HTTP 服务 | 检查运行中的 Defold 游戏引擎(dmengine)、使用开发服务、分析、运行时消息或扩展定义的运行时自动化 API,以及让外部工具查询运行中的调试构建或向其发送命令 |
| Automation Bridge | 提供额外引擎运行时自动化端点的 Defold 官方扩展 |
| 自动化测试 | 测试游戏逻辑、消息、组件、输入、物理和引擎行为,检查场景和视觉反馈,例如通过编辑器预览、注入输入、实时应用程序状态和运行测试集合 |
| Shell 脚本或任务运行器 | 生成、格式化、验证和可重复任务,以及常规文件操作 |
| 外部平台专用及 Web 浏览器自动化工具 | 桌面测试工具、HTML5 交互测试、截图、Web 集成 |
| AI 编码智能体和多模态模型 | 难以或无法使用确定性方法实现的任务,以及对场景、GUI 布局或运行时截图进行语义分析 |
最重要的区别在于 Defold 编辑器和运行中的游戏。它们是拥有各自 HTTP 服务器的独立进程。
当操作顺序已知时,应优先选择确定性解决方案,例如关卡验证器、格式化工具、构建任务或回归测试。它们通常应具有稳定的输入、输出、超时和退出码,适合可在 CI 中可靠运行的自动化钩子和测试。对于项目中的程序化资源创建,也应优先采用确定性解决方案,例如将 gltf 对象转换为采用指定材质的模型,或使用树木等对象填充关卡的工具。这些流程可以使用编辑器脚本和 UI 针对每个项目轻松创建。请在本手册中了解更多信息。
当任务需要调查或多模态(例如包含视觉内容)分析时,智能体会很有用:定位相关资源、选择实现方案、修改多个文件、解读错误,以及朝着明确的验收标准进行迭代。不过,智能体仍应调用确定性接口,并使用与本地脚本或 CI 运行器相同的证据。请参阅在 Defold 中使用 AI 编码智能体手册。
可靠的自动化流程会形成一个闭环:

验证应提供来自实际环境的证据。合适的证据包括:
请在进行更改前定义预期结果,同时定义超时和最大修复尝试次数。当无人值守的流程无法满足验收标准时,不应无限期地继续运行。
请在以下手册中查找有关特定自动化工作流程主题的更多详细信息: