自分の環境だけなのかもしれないのですが…。
XBOXの無線コントローラーをPCに接続してgamepad_is_connected関数で確認してみると、スロット0とスロット4のふたつのスロットにコントローラー接続されてしまっており、マルチプレイでのコントローラー認識がうまくいかず悩んでいます。
この挙動は正常なものなのでしょうか?
自分の環境だけなのかもしれないのですが…。
XBOXの無線コントローラーをPCに接続してgamepad_is_connected関数で確認してみると、スロット0とスロット4のふたつのスロットにコントローラー接続されてしまっており、マルチプレイでのコントローラー認識がうまくいかず悩んでいます。
この挙動は正常なものなのでしょうか?
Xboxの無線コントローラーを使うと同様な症状に陥るフォーラムを見つけました。
https://forum.gamemaker.io/index.php?threads/how-to-prevent-wireless-xbox-controller-to-have-device-id-0-and-4-at-the-same-time.101834/
現状の対策としては以下の4つのどれかで解決するかもしれません。
⓵無線コントローラーには対応しない(一番簡単)
⓶スロット0~3のみを利用する(Xinputに対応したコントローラーのみを利用)
⓷スロット4~11のみを利用する(DirectInputに対応したコントローラーのみを利用する)
⓸接続を見てコントローラーのGUIDをチェックして、同一のものは片方を無視する。gamepad_get_guidで取得可能
回答ありがとうございます!
gamepad_get_guidでチェックする方法が遊び手的にはストレスなくて一番良いかな? と思って試したのですが、スロット0と4で異なるGUIDになってしまって使えず…。
とりあえず他の手段を探ってみます。
ええ、GUIDだめでしたか!
お手数をおかけしてすみません🙇♂️