掌機的底座行為
某些掌機會在連接底座時遊玩。雖然沒有 API 可以檢查掌機是否已連接底座,但連接底座的裝置可能會連接外部顯示器。您可以使用 EnumDisplayDevices 和 EnumDisplaySettings API 檢查是否有外部顯示器。 當掌機裝置連接底座時,請使用下列方法檢查已連接的外部顯示器:- 檢查是否有其他控制器。掌機的內建控制器一律可用,但使用者也可能連接其他控制器。
- 檢查已連接顯示器的螢幕大小。
- 虛擬鍵盤的建議仍然適用,因為控制器仍是主要的輸入機制。
- 某些玩家可能會連接滑鼠和鍵盤,就像他們在主機上的做法一樣。
保證可用的輸入
雖然各種遊戲掌機可能有其他輸入選項,但掌機裝置都具備下列輸入。- A、B、X 和 Y 按鈕
- 左肩鍵和右肩鍵
- 左扳機鍵和右扳機鍵
- 左類比搖桿和右類比搖桿
- 方向鍵
- 功能表按鈕
- 檢視按鈕
電源
若要檢查掌機裝置是否使用 AC 電源而非電池,請呼叫 GetSystemPowerStatus 函式。它會顯示裝置是否使用 AC 電源,並提供電池充電狀態的摘要 (高、低、嚴重不足或充電中)。 請考量您的遊戲如何影響裝置的電池續航力,因為遊戲所需的電力並非總是顯而易見。XBOX Sustainability Toolkit 中可能的省電建議也適用於掌機。 透過下列方式將省電效果最大化:- 啟用 VSync,讓 GPU 有更多閒置時間並降低電力使用。
- 降低內部轉譯解析度並套用升頻處理。
- 降低畫面播放速率以節省電力。注意:較低的畫面播放速率可能會影響遊戲體驗。
- 在出現全螢幕功能表或 UI 元素,或遊戲暫停時,停止轉譯遊戲世界。
- 在偵測到輸入閒置且玩家沒有活動時暫停遊戲。
螢幕尺寸
雖然不同的遊戲掌機有不同的螢幕解析度,但您可以依賴下列標準:- 螢幕對角線尺寸至少為 7 英吋 (17.8 公分)。
- 螢幕的長寬比為 16:9 或 16:10。
掌機體驗最佳做法範例
為了提供更多關於針對掌機裝置建置和最佳化遊戲的深入見解,Microsoft 發佈了兩個範例:原生 C++ 範例和 Unity Managed C# 範例。兩者都提供一組類似的最佳做法,說明如何使用 API 管理遊戲的掌機體驗。- 判斷裝置是否為掌機。
- 判斷裝置是使用電池電源、正在充電,還是使用外部電源。
- 查閱裝置專屬的屬性,包括內建顯示器的屬性。
- 處理 DPI 變更並據以縮放 UI。
- 使用虛擬鍵盤輸入文字。
- 查閱網路裝置和類型。
- 判斷網路和 Bluetooth® 連線能力。
- 處理來自控制器、鍵盤和滑鼠的輸入。
- 判斷輸入形式。例如,識別最近使用的輸入裝置。
- 原生 C++ 範例:GitHub 上的 C++ 範例。
- Unity Managed C# 範例:GitHub 上的 Unity Managed C# 範例。
