2010/11/07 C79向け新作シューティング開発記 PC用コントローラー対応はどうする??

さてさて、何となく弾幕は表示できたわけですが、次なる頭の痛い問題は、コントローラーをどうするかです。
XNAで開発してはいるものの、冬コミでは、Windows用アプリとして配布する予定なのですが、XNAで開発したゲームは、例えWindows上で実行しても、Xbox360のコントローラー(XInput)またはキーボードでないと操作できないのです…こりゃ参った。


ところが幸いにも、色々調べているうちに、この問題を解決してくれる便利なdllを見つけました。
それは「XBOX360 Controller Emulator」です。
ゲームのexeのあるフォルダに入れておくだけで、XInputのコントローラー入力をDirectInputからの入力に置き換えてくれます。
これを使えば、プログラムをほとんど変更することなく(ちょっとした例外処理を追加するだけで良い)、PC用のコントローラーに対応できます。素晴らしス。
試しに、このdllを入れて、PS2のコントローラーを変換コネクタでPCに接続したところ、ちゃんと、ボタンやアナログスティックの入力をプログラムから拾うことが出来ました。
とりあえず、ホッとしました。


ですが、問題がないわけではありません。
このdllを入れた状態でXbox360のコントローラーで操作しようとすると、正しく入力情報が拾えないのです。
これは、仕方ないので、Xbox360のコントローラーで操作したい人はdllをリネームするか削除してもらうかで対応するようにしようか…