ゲーム入力制御
なんかひさびさに記事まとめようと思ったら前と同じ系統。
何かずっとおなじことしてたように思われそうだけど、そんなことないので。
今やってるのは、ゲームインプットの制御。
物理的にキーボードのキーの数、パッドのボタン数は環境さえ変わらなければ固定。
だけどゲーム側ではキーの値+αなケースが多い。
- 最初の入力だけを取得するトリガー
- 入力の検出間隔を調整したいリピート
- アナログでの検知開始値と終了値のレンジ
同じAボタンでもメニュー上でのAとキャラを動かすためのAボタンでは押してるボタンは同じでも役割が違うので、特性も変わってくる。
その+αを各々対応していたら、管理も面倒だし変更も面倒なので、+αを定義できるゲームインプットの管理システムを作ってる。
仮想の入力デバイスを用意し、その入力ボタンなどの代わりとなる仮想キーを定義。
仮想キーは実際のキーを設定させて、+αであるトリガーなどを設定できる。
ゲーム側で使う場合は、その仮想デバイスを継承して、オーバーロード先で仮想キーの構築。
管理にデバイスをアタッチ後、従来の同じ感覚で入力判断できる。
とりあえずそんな感じ。キーボードはできた。で次パッド。
パッドはアナログがあるのでそれがめんどくさそう。
次どっか出かけるときにテスト用としてパッド何種類か買っとくか。