GM:備忘録・ゲームパッドの取得【9/18:追記あり】
どうも、Master.typeXです。
さて、今回は久々のGameMaker備忘録だ。
事の始まりは、箱コンのワイヤレスアダプターが
時折動作がおかしくなった時だ。
なんか代替案はないかと思い、
Bluetoothで接続できると聞いて
Bluetoothアダプターを買って接続して一件落着・・・。
・・・と、思いきや
GameMakerのゲームで
なんかゲームパッドの挙動が怪しいではないか?
ということに気付いた。
アーマードコアはもちろんのこと
PSO2でもちゃんと動作してるのに
GameMakerの、とりわけ自分のゲームに限り
ビューボタンやLTRTが機能しなかったりと
散々な目にあった。
BLOODLINESでも使ってる
インプットマネージャーオブジェクトを見ても
記述ミスみたいな所は見られない・・・
だのに、キー入力がおかしい。
解決策が見当たらないと思っていたが
そういえば、某氏のフリゲ(GameMaker製)で
キーコンフィグの時にパッドIDとか拾ってたな?
と思い見てみたら・・・
しっかりと該当ボタンが動作してる。
WHY?
だが、おかげで決定的に違うところを見つけ出した。
それはゲームパッドのIDだった。
某氏のフリゲではパッドIDが0を返していたのに対し
自分のテスト環境では4を返していた。
GameMakerではXinputのゲームパッドは普通
0~3の数値を返すのだが
テスト環境では0「と」4を返していたわけだ。
いや、何で2つも値返してるの?
WHY???
まあ、長々と書いたが解決策は至ってシンプル。
パッドIDを入れておく変数に0を指定してやればいいだけだ。
結果として、正しく機能するようになった。コレで一安心だ。
それでは、まとめといこう。
Bluetooth接続時はパッドIDを疑え
ということだな。
いや、マジで何で2つもID拾ってるのか
全く訳わかんねぇ。
とりあえず先駆者たる某氏には
ホント感謝しか無いな。
後で最新版DLしておこうか。
という事で今回はこの辺で。
また次回!!!
9/18:追記
・・・その後、GameMakerの日本語ディスコ鯖で
この問題について質問してみたが・・・
どうやらコレ、箱コン、それもとりわけSeriesX|Sの
箱コンが根本的原因ではないかという憶測が生まれた。
というのも、どうもFF14で全く同じという訳では無いが
無線接続で怪しい挙動になるという記事があったので
そこの対処法の一つとして、Xbox360のコントローラーの
エミュレータを入れるという方法を試したのだが
コレでも駄目で上手く動かなかったのよ。
全てはBluetooth LE XINPUT互換入力デバイスとして
認識しているのがいけないと思われるのだが・・・
まあ、ともかく。
うちのゲームをやる時は
なるべく有線接続でプレイしてくれ
としか注意喚起できないんだよな・・・。
という事で追記は以上だ。
しかし、某氏のゲームだとなんでか
0番を返すんだよな。コレばかりは謎である。