次の方法で共有


アクション マップ

アクション マップ

従来、アプリケーションは特定のボタンや軸に対して独自のイベント マッピングを行っていた。たとえばカー レーシング ゲームの場合、ユーザーのジョイスティックやマウスの x 軸が車の運転用コントロールに最適だ想定されたので、新しいデバイスや特殊デバイスを組み込む唯一の方法は、ユーザーが運転用に使う回転軸などその他の軸を指定できるように、構成オプションを提供することであった。さらに、アプリケーションは、インストールされたどのデバイスがゲームに最適であるかを知る手段はなかったので、ユーザーは通常、メニューからデバイスを選択したり、適切なデバイスだけが接続されていることを確認したりする必要があった。

アクション マップを使うと、デバイスとデバイス オブジェクトの最適な使い方に関してさまざまなことを想定する必要はなくなる。その代わりに、アプリケーションが、可能な限りアクションと仮想コントロールをバインドする。アプリケーションは、x 軸からデータを取得して車を左右に動かすのではなく、DIAXIS_DRIVINGR_STEER という仮想コントロールからデータを取得する。Microsoft® DirectInput® は、物理コントロール、つまりデバイス オブジェクトに仮想コントロールを割り当てる。割り当ての際には、アプリケーションのジャンル、ユーザー設定、デバイス メーカーからの情報、およびユーザーのデバイス構成が考慮される。

また、アクション マップを使うと、すべてのデバイスのデータが、特定のデバイスに依存しない形式で返されることにより、入力ループが簡素化される。単一のアクションを複数のデバイスにマップでき、そのアクションに対し、どのデバイスを読み取り中かにかかわらず、入力ループが同一の方法で応答することができる。

以下のトピックでは、アクション マップの実装に必要な手順の詳細を説明する。