SuperAPI AI 工具集

godot-mobile

编程与开发

查看项目

更新于 10-19 16:14

技能介绍

godot-mobile 是一套针对 Godot 4.x 移动游戏开发的技能说明,目标是把 Android 与 iOS 当作具有可变屏幕、可中断生命周期、受限 CPU/GPU/内存/热预算以及平台发布流水线的目标平台。桌面预览可用,但不能作为充分证据。

用途与定位

该技能用于在移动端构建和准备 Godot 游戏,重点不是单一功能,而是移动目标的系统化检查与实施流程:从项目配置、输入处理、UI 适配、性能预算,一直到导出与真机验证。

修改前的检查

流程要求先以与改动风险相称的粒度检查项目:定位 project.godot,确认根目录,读取 config/features、渲染方式与驱动、基础视口尺寸、拉伸模式与宽高比、屏幕方向、物理帧率、输入模拟设置、纹理默认值、应用标识与主场景。用项目既有的 Godot 可执行文件运行 --version,让编辑器、导出模板、API 与平台文档对齐到确切的 Godot 4.x 版本。检查现有场景与类型化 GDScript 约定,包括输入路由、暂停/状态归属、生成节点生命周期、UI 锚点与容器、相机行为、质量设置、存档路径与应用生命周期处理。检查 export_presets.cfg 时不暴露凭据,记录 Android 包名、版本码/名、架构、权限、渲染器、构建格式,以及 iOS bundle ID、团队/能力、方向、图标与签名要求。检查纹理、音频、模型、着色器、粒子与字体的导入,找出可能主导内存、带宽、过度绘制或包体积的最大资源。若条件允许,在至少一台代表性真机上跑基线,记录帧时间、帧节奏、内存、启动、输入延迟、方向、安全区布局、挂起/恢复与热行为。未经说明项目全局与发布影响,不得更改渲染器、拉伸模式、方向、压缩、包身份、权限或签名字段。

移动工作流

先定义支持设备矩阵:Android/iOS 版本、手机/平板/折叠屏、竖屏/横屏、最低硬件、目标帧率、渲染器与商店或侧载分发方式。根据内容选择基础视口与拉伸策略;UI 使用响应式 Control 锚点与容器,不为每种分辨率单独排版。保护关键控件不被刘海与圆角遮挡,方向或窗口变化后重新评估安全区。先定义输入语义再定义手势;可见操作用大尺寸标准控件或 TouchScreenButton,世界手势的原始触摸识别集中管理。把触摸、鼠标、键盘与手柄翻译为相同动作或命令,使物理与玩法与设备无关。设定帧时间与内存预算,在设备上分析瓶颈属于 CPU、GPU、内存、加载还是热降频,每次只改一个有测量依据的原因。处理应用暂停、恢复、失焦、音频中断、旋转、虚拟键盘与安全存档。按确切编辑器版本配置导出模板与平台工具链,签名凭据不放在版本控制的预设中。尽早产出调试设备构建,并在认为流水线完成前产出发布签名构建。

视口决策

对大多数应从设计尺寸缩放、以设备分辨率渲染的高分辨率 2D/移动 UI 使用 canvas_items;对刻意以固定低基础分辨率渲染的项目(如像素艺术或经测量的低分辨率性能策略)使用 viewport;根据内容可能变得可见或被加黑边的部分选择 expand、keep_width、keep_height 或 keep,不能只按名称选择,应在支持的宽高比范围内测试。3D 选择在目标方向上保留重要视野的相机保持宽高比模式。在项目/版本支持时让 UI 独立于 3D 分辨率缩放,避免降性能后文字不可读。

示例代码

资料提供了一段类型化触摸示例,使用 _unhandled_input 处理原生触摸,因此 UI 控件会先消费事件;桌面测试应启用项目的鼠标转触摸模拟,而不是增加可能在设备上触发两次的鼠标分支。代码定义 tapped 与 dragged 信号、tap_slop 导出参数,并按触摸索引维护起点与是否超过 slop 的字典。说明指出:手势阈值需按项目视口坐标空间与 UI 缩放调整;按索引跟踪每根手指,不能假设只有第零指;应用失焦或所属玩法状态中断时清除已跟踪触摸。

性能优先级

先在目标级别设备上分析,查看帧时间而不只看 FPS 平均值。让非活动节点停止处理,生成内容在超出有用生命周期后释放或回收。GPU 受限时减少透明重叠、全屏效果、昂贵粒子、带阴影光源、着色器纹理读取与不必要渲染目标。复用材质、网格与纹理;3D 使用 LOD、可见范围、简化碰撞与经测量的分辨率缩放。以合理尺寸导入纹理并使用适合平台的 VRAM 压缩,在 Android 与 iOS 上检查伪影与内存。把大内容流式或加载移出延迟敏感交互,避免游玩中首次使用着色器或资源卡顿。仅在分析显示分配、实例化或清理尖峰时使用池化;有界的 queue_free() 生命周期在足够时更简单。测试时长需足以暴露发热、降频、耗电与内存增长。

验证

用匹配编辑器解析/导入并运行既有测试,可使用 <godot> --headless --path <project> --editor --quit(在支持时),但不能视为设备验证。在每种支持方向下测试最小、设计、超宽、平板与类折叠屏宽高比;验证刘海、圆角、系统栏、手势区域、虚拟键盘与表单或玩法进行中的旋转;测试单击、长按、拖动、滑动、多点触控、中断手势、边缘手势与 UI 覆盖玩法的的事件消费;比较 30/60/90/120 Hz 设备或模拟帧上限,确认物理与手势行为仍基于时间;在设备上代表性关卡记录 CPU 与 GPU 帧时间、绘制调用、对象数、内存、纹理内存与尖峰;进行持续会话、反复后台与恢复、锁屏/解锁、模拟中断,验证音频、计时器、网络与存档恢复。尽早构建并安装 Android 调试包;发布前产出带发布签名的所需商店构件并测试该确切构件。iOS 从 macOS 用所需 Xcode/签名设置导出,再在真机测试,模拟器成功不等于设备成功。验证应用名、图标变体、方向、包/bundle 标识、版本、权限、隐私声明、架构与发布模式。报告测试设备、系统版本、渲染器、构建类型、测量数据及仍属外部的商店/签名检查。

常见陷阱

只按一台手机截图设计或把分辨率当作物理尺寸;使用 aspect ignore 拉伸导致玩法或触摸几何失真;把重要控件钉在屏幕边缘而不考虑安全区;同时处理触摸与模拟鼠标事件造成重复动作;只轮询单一全局触摸位置而破坏多点触控或中断手势;使用无持久标签或反馈的小图标目标;按桌面测量优化而非最慢支持设备;让屏幕外敌人、效果、计时器、音频播放器或 _process 回调无限存活;未做移动 GPU 分析就启用桌面级后处理、阴影或透明效果;全局更改纹理压缩而不检查 alpha、伪影、源尺寸与目标支持;假设暂停或失焦会自动保存状态并停止所有相关子系统;提交 keystore、密码、配置文件、API 密钥或生成的凭据文件;按通用建议而非确切 Godot 版本的文档选择工具链版本。

限制与暂未提供

资料未提供具体收费、价格、平台支持范围、安装命令或性能效果数据,这些内容暂未提供。该技能不替代真机测试,也不保证任何具体帧率或商店审核结果。