在实现游戏手柄支持时,请考虑以下基本要求,以帮助玩家享受流畅、不间断的游戏体验。
让 Play 商店中的用户知道您的游戏支持手柄
在 Android 清单中声明游戏手柄功能后,Google Play 上会显示游戏手柄支持图标和标签。请使用此声明,帮助更多用户发现并畅玩您的游戏。如需详细的配置说明和清单示例,请参阅 Play 商店公开范围和游戏手柄硬件功能。
让玩家在输入设备之间无缝切换
当玩家在输入设备之间切换时,请确保切换过程顺畅无阻。避免要求玩家在设置菜单中手动切换输入法或重启游戏。
自动切换并支持热插拔
让所有受支持的输入设备同时保持活跃状态,以便玩家可以随时在它们之间切换。在运行时监听输入设备的变化,以便游戏手柄在连接后立即运行,而无需重启应用,并在游戏过程中活跃控制器断开连接时无缝切换到其他可用的输入方法。如需检测控制器连接和断开连接,请参阅验证游戏控制器是否已连接(Kotlin 或 Java)或注册或移除控制器状态回调(C++ Game Controller 库)。在 Android 16(API 级别 36)及更低版本中,还需在清单中声明 android:configChanges="keyboard|keyboardHidden|navigation",这样连接或断开控制器时就不会重启 activity(请参阅处理配置变更)。
| 不推荐 | 推荐 |
|---|---|
|
|
更新了按钮图标和文字指南,以匹配当前设备
根据当前使用的输入设备,动态切换屏幕上的按钮图标和文字指南。例如,当游戏检测到游戏手柄输入时,将“点按即可跳跃”等触控指南转换为“按 B 即可跳跃”(或平台等效按钮)。
在游戏手柄处于活动状态时隐藏虚拟触控
为防止屏幕杂乱和玩家混淆,请在游戏手柄处于活动状态时隐藏所有虚拟轻触界面元素,例如虚拟摇杆和屏幕上的按钮。如果玩家轻触屏幕,则立即恢复触控界面。
为所有游戏内逻辑提供全面的游戏手柄支持
避免依赖触控输入作为后备机制。使用触控方式退出菜单或执行游戏的特定部分可能会破坏沉浸感。实现所有游戏内互动,以便玩家可以完全使用游戏手柄进行互动。
将所有 HUD 元素和对话框映射到控制器输入
让玩家能够使用控制器通过专用快捷按钮、缓冲键或方向键 (D-pad) 导航来打开、关闭所有屏幕上的平视显示 (HUD) 元素、菜单和对话框,并与之互动,这样他们就不必触摸屏幕。
| 不推荐 | 推荐 |
|---|---|
|
|
区分游戏内容和界面输入上下文
当菜单或对话框在游戏画面上打开时,请切换上下文或屏蔽后台控件,以便游戏手柄仅与活跃界面互动。这种分离可防止菜单中的方向导航或按钮按下操作意外触发后台的角色移动或操作。
| 不推荐 | 推荐 |
|---|---|
|
|
在屏幕打开时立即分配初始焦点
与触控输入(玩家直接点按按钮)不同,游戏手柄导航会从当前获得焦点的元素移至相邻元素。如果新菜单或对话框打开时没有初始焦点目标,方向键和确认输入可能会无法响应或停留在背景元素上。在屏幕打开后立即将初始焦点分配给默认按钮。
| 不推荐 | 推荐 |
|---|---|
|
|