准则 1:默认值就能用
玩家在掌机上期望获得类主机的体验。他们不应该需要找到某个菜单调整某个设置来让游戏进入掌机模式。仅使用手柄,他们就应该能够浏览游戏的所有元素。虽然玩家可能希望自定义并变化渲染选项(黑位、阴影、性能 vs 画质),但他们仍然期望有一个良好的默认体验。 让默认值“就能用”的关键是知道自己正在游戏掌机上运行。以下代码可以用来判断游戏是否运行在游戏掌机上。- 选择与典型掌机能力相匹配的分辨率与设置。
- 将默认输入改为手柄,并在需要文本输入时弹出虚拟键盘。
- 增大字体(详见下方 准则 4:UI 可读性)。
- XBOX Accessibility Guideline 101: Text display
- XBOX Accessibility Guideline 107: Input
- XBOX Accessibility Guideline 112: UI navigation
- XBOX Accessibility Guideline 113: UI focus handling
准则 2:图标与提示
屏幕上的提示,例如图标,能帮助玩家理解如何浏览和玩游戏。请确保不会出现暗示掌机原生不支持的输入方式的提示,以免引起混淆。准则 3:文本输入
为 PC 编写的游戏通常假设有鼠标键盘可用。在游戏掌机上,默认输入是手柄。当游戏中需要输入文本时,开发者必须确保玩家仅使用手柄配合虚拟键盘即可输入文本。 任何可能需要输入文本的时刻都应触发虚拟键盘。两种常见做法是:检测到文本框上的“触摸”时启动虚拟键盘,或者在文本框获得“输入焦点”且按下“A”按钮时启动虚拟键盘。 游戏可以自由创建自己的虚拟键盘,也可以利用 Windows 自带的虚拟键盘。以下代码展示游戏如何在手柄模式下启动并隐藏 Windows 虚拟键盘。ICoreInputView3 接口,并调用 TryShow 方法,传入新的手柄启用型虚拟键盘的标识。TryHide 会在虚拟键盘当前显示时隐藏它。
TryShow 方法只会在 Windows 判断显示键盘合适时才会显示键盘。例如,在附加了物理键盘的设备上(以及其他情形)调用该方法可能不会显示虚拟键盘。在带触摸屏的掌机设备上,此调用会按预期工作。上述 API 不依赖 GDK。这是一个在 Windows 10 版本 10.0.17763.0(2018 年 10 月发布)中引入的 Windows API,但
CoreInputViewKind::Gamepad 枚举需要 Windows SDK 10.0.26100.3624 或更高版本。准则 4:UI 可读性
7 英寸左右的小屏幕在游戏掌机上很常见。这些小屏幕可能让游戏中的文本 UI 难以阅读。针对这些小屏幕,给游戏开发者的建议是:- 如果屏幕分辨率为 1280 x 720,文本的像素高度应至少为 9 像素。我们建议高度为 12 像素或更多。
- 如果屏幕分辨率为 1920 x 1080,文本的像素高度应至少为 14 像素。我们建议高度为 18 像素或更多。
DirectWrite 可以利用 Windows 的关键功能,例如字体缩放、DPI 与其他 Windows 设置。
