Skip to main content
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 不要求您逐一查看裝置並檢查每個讀數。相反地,您可以透過一次方法呼叫來檢查最新的輸入狀態。您可以自行選擇要對每個實體裝置了解多少。

參考 API 文件

另請參閱

GameInput 概觀 輸入 API 參考 Microsoft Game Development Kit
Last modified on October 6, 2026