SuperAPI AI 工具集

godot-desktop-apps

编程与开发

查看项目

更新于 10-19 18:15

技能介绍

Godot Desktop Applications 是一个面向 Godot 4.x 的非游戏桌面应用开发技能指南,重点解决工具类应用的状态管理、表单行为、键盘可达性、主题复用与用户数据持久化问题。

【用途】 指导开发者以明确的架构边界构建桌面工具:把窗口级布局、菜单、导航与全局对话框放在应用外壳中;把单个工作流或界面做成功能视图场景;用功能协调器连接视图信号与领域操作,持有临时流程状态;把类型化规则与操作放入不依赖节点路径的领域模型或服务;再通过持久化适配器读写单一带版本号的数据格式。文档强调按最小必要粒度拆分,小型应用可把视图与协调器合在一个脚本中,不鼓励为每个对象创建 autoload。

【主要能力】

  1. 表单与校验:先定义类型化数据模型和校验规则,再连接控件;每个字段有固定标签、预期格式和错误显示位置;允许正常中间编辑状态,在提交、失焦或主动实时预览等明确边界解析归一化;失败时保留输入、显示可操作错误、聚焦首个无效字段。文档给出一个 LineEdit 标签校验示例,通过唯一命名节点 %NameEdit、%NameError、%SaveButton 和 save_requested 信号把校验与持久化解耦。
  2. 焦点与键盘契约:打开窗口、视图或对话框时设置合理初始焦点;Tab 与 Shift+Tab 按阅读顺序移动,非线性布局显式设置焦点邻居;Enter 仅在主操作不冲突时接受;Escape 在所属对话框或导航层取消;关闭对话框后焦点回到打开者;使用 Shortcut 资源、菜单加速键或项目命令系统实现应用快捷键,同时保留按钮和菜单项作为可发现替代;不破坏文本编辑、剪贴板、撤销重做、选择和输入法行为;每种主题和控件状态都绘制可见焦点。
  3. 主题与持久化:在应用外壳或功能根节点应用共享 Theme 资源,使用语义化类型变体,定义正常、悬停、按下、焦点、禁用、选中、只读、无效等状态;按产品需要支持亮色、暗色、高对比度和界面缩放;对桌面应用刻意处理拉伸与高 DPI 策略,设置合理最小窗口尺寸并允许内容滚动或重排;设置数据在 user:// 下使用带版本号的 ConfigFile;用户文档使用用户选择的文件系统路径,user:// 仅存放应用自有数据而非替代“另存为”;保存错误、格式错误、不支持的未来版本和迁移失败都视为可恢复的正常情况;禁止在明文 ConfigFile 中保存密码、令牌或私钥。

【使用方式】 文档要求编辑前先检查:定位 project.godot 确认根目录,读取 config/features、主场景、窗口尺寸与模式、最小尺寸、拉伸与内容缩放、DPI、区域设置、输入动作和 GUI 主题配置;用项目既定的 Godot 可执行文件运行 --version 匹配具体 4.x 版本;查看代表性 .tscn、.gd、.tres 文件记录边界、场景归属、唯一命名、信号约定、类型化 GDScript 风格、autoload、导航、对话框与命名;检查所有数据路径与格式(ConfigFile、FileAccess、JSON、自定义 Resource、数据库、user://、用户选择文件、模式版本、迁移、自动保存、错误处理);检查主题、字体回退、图标策略、明暗与系统偏好、UI 缩放、焦点样式、快捷键、菜单动作、本地化和从右到左支持;运行当前应用,缩放到最小和最大尺寸,仅用键盘完成主流程,测试无效表单,定位实际用户数据目录并记录现有警告。文档明确要求:未经迁移方案,不得替换已发布的持久化格式或更改应用标识与用户数据位置。

【验证与陷阱】 验证包括:用匹配编辑器解析或导入并运行现有测试,可用 <godot> --headless --path <project> --editor --quit;从干净数据、有效数据、损坏设置、只读或失败目标、旧版模式启动;仅用键盘完成全部主流程,测试 Tab、方向键、Enter、Escape、空格、菜单加速键与快捷键;测试空值、边界、格式错误、粘贴、Unicode、区域特定和超长字段并检查光标与输入法;从最小到最大连续调整窗口;打开、取消、确认、重新打开每个对话框;保存、关闭、重启后比较状态并测试写入中断;确认应用数据在预期用户目录且导出构建不写 res://;在目标桌面系统测试发布导出的应用标识、图标、文件对话框、路径、权限、快捷键和窗口行为。 常见陷阱包括:把所有状态、规则、文件 I/O 和导航塞进一个根脚本;提交后仍以节点文本为唯一真相来源;过滤每次按键破坏粘贴、光标、负数、小数、Unicode 或输入法;校验前转换空或错误字符串;仅用颜色或临时提示显示错误;隐藏焦点、困住焦点或让关键操作依赖鼠标;用全局 _input 覆盖常用文本编辑快捷键;硬编码窗口尺寸或用游戏拉伸设置模糊桌面 UI;向 res:// 写数据;忽略 ConfigFile、FileAccess 或目录操作的 Error 返回值;用默认值覆盖不兼容的未来模式;提交凭据或把密钥放进明文设置文件。

【适用场景与限制】 适用于希望用 Godot 场景系统构建工具型桌面软件、强调可测试状态、全键盘操作与版本化数据持久化的开发场景。文档未提供具体收费、价格、平台支持清单或效果指标,相关内容暂未提供。