Windows.Xbox.Input 是 GDK 之前 XBOX One 軟體開發套件開發所用的輸入 API。在概念上,GameInput 以不同的方式看待裝置和輸入讀數。本主題說明 Windows.Xbox.Input 與 GameInput 之間的一些主要差異。
以輸入為中心與以裝置為中心
Windows.Xbox.Input 與 GameInput 之間的主要差異在於,前者要求您先收集裝置,並將輸入狀態視為裝置的屬性。相反地,GameInput 以可篩選的輸入讀數串流為起點,這些讀數具有相關聯的裝置。
偵測 A 按鈕按下
遊戲首次啟動時,使用者通常必須按下 A 以表示已準備好繼續。此處的範例比較在Windows.Xbox.Input 和 GameInput 中執行此動作的方式。此範例只尋找遊戲台。請注意,範例已為示範目的而簡化。
Windows.Xbox.Input
下列程式碼範例一開始會列舉所有連線至系統的遊戲台,並將它們儲存在gamepads 向量中。然後在迴圈中逐一查看 gamepads,檢視每個遊戲台目前的輸入讀數,並檢查每個讀數中是否有 A。
此程式碼參考的是舊版 API。這些呼叫在
GameInput 中不存在。GameInput
在下列程式碼範例中,程式碼會尋找來自任何裝置的最新遊戲台讀數。透過呼叫 GetCurrentReading 並將 GameInputKind 篩選條件設為GamePad,程式碼會要求 m_gameInput 只傳回遊戲台讀數。接著,程式碼會查詢讀數的狀態,並檢查是否按下 A。
您可能會想要追蹤您正在溝通的遊戲台。如需更完整的範例,請參閱 GameInput 讀數。
GameInput 不要求您逐一查看裝置並檢查每個讀數。相反地,您可以透過一次方法呼叫來檢查最新的輸入狀態。您可以自行選擇要對每個實體裝置了解多少。