Windows.Xbox.Input は GDK 以前の XBOX One Software Development Kit 開発向けの入力 API です。概念的に、GameInput はデバイスや入力の読み取りを異なる方法で捉えます。このトピックでは、Windows.Xbox.Input と GameInput の主な違いについて説明します。
入力中心 vs. デバイス中心
Windows.Xbox.Input と GameInput の主要な違いは、前者ではデバイスを収集し、入力状態をデバイスのプロパティとして扱うところから始める必要があることです。対照的に、GameInput は関連するデバイスを持つ入力読み取りのフィルター可能なストリームから始まります。
A ボタン押下を確認する
ゲームが最初に起動するとき、ユーザーは続行する準備ができていることを示すために A を押す必要があることがよくあります。ここでは、Windows.Xbox.Input と GameInput でこれを行う例を比較します。この例ではゲームパッドのみを対象とします。デモンストレーション用に例が簡略化されていることに注意してください。
Windows.Xbox.Input
次のコード例は、システムに接続されているすべてのゲームパッドを列挙し、gamepads ベクターに格納することから始まります。次に、ループで gamepads を反復処理し、それぞれの現在の入力読み取りを見て、各読み取りを A についてチェックします。
このコードは以前の API を参照しています。これらの呼び出しは
GameInput には存在しません。GameInput
次のコード例では、コードは任意のデバイスから最新のゲームパッド読み取りを探します。GameInputKind フィルターをGamePad に設定して GetCurrentReading を呼び出すことで、コードは m_gameInput にゲームパッドの読み取りのみを返すよう要求します。次に、コードは読み取りの状態を問い合わせ、A の押下を確認します。
対話中のゲームパッドを追跡したい場合があります。より完全な例については、GameInput の読み取り を参照してください。
GameInput では、デバイスを反復処理して各読み取りをチェックする必要はありません。代わりに、1 回のメソッド呼び出しで入力の最新状態を確認できます。各物理デバイスについてどの程度知りたいかを選択できます。