Microsoft DirectX 8.0 (Visual Basic) |
従来、アプリケーションは特定のボタンや軸に対して独自のイベント マッピングを行っていた。たとえばカーレーシング ゲームの場合、ユーザーのジョイスティックやマウスの x 軸が車の運転用コントロールに最適であると想定される。新規デバイスや特殊デバイスを組み込む唯一の方法は、ユーザーが運転用に使用する回転軸などその他の軸を指定できるように、構成オプションを提供することであった。さらに、アプリケーションは、インストールされたどのデバイスがゲームに最適であるかを知る手段はなかったので、ユーザーは通常、メニューからデバイスを選択したり、適切なデバイスだけが接続されていることを確認したりしなければならなかった。
アクション マッピングを使うと、デバイスとデバイス オブジェクトの最適な使用法に関してさまざまなことを想定する必要はなくなる。その代わりに、アプリケーションが、可能な限りアクションと仮想コントロールをバインドする。アプリケーションは、x 軸からデータを取得して車を左右に動かすのではなく、DIAXIS_DRIVINGR_STEER という仮想コントロールからデータを取得することになる。Microsoft® DirectInput® は、仮想コントロールを物理コントロール、つまりデバイス オブジェクトに割り当てる。割り当ての際には、アプリケーションのジャンル、ユーザー設定、デバイス メーカーからの情報、およびユーザーのデバイス構成が考慮される。
また、アクション マッピングを使うと、すべてのデバイスのデータが、特定のデバイスに依存しない形式で返されることにより、入力ループが簡素化される。単一のアクションを複数のデバイスにマップでき、そのアクションに対し、どのデバイスを読み取り中かにかかわらず、入力ループが同一の方法で応答することができる。
以下のトピックでは、アクション マッピングの実装に必要な手順の詳細を説明する。