pygameを使ってPCに接続されているジョイスティックコントローラの情報を取得したいのですが、上手くいきません。
コントローラをPCに接続したままPCを起動してプログラムを動かすと、全てのボタン(ボタン数13)を取得してくれますが、差し直すと取得するボタン数が減ってしまいます(ボタン数11)。
pygameの初期化関数の順番が関係しているのかと思ったのですが、特に関係はなさそうです。
この問題の解決のために、どうかご教授お願い致します。
下記にジョイスティックコントローラの初期化プログラムと、プログラムのコンソール出力の変化の画像を載せています。
Python
1def main(): 2 3 pygame.init() 4 pygame.joystick.init() 5 try: 6 joy = pygame.joystick.Joystick(0) 7 joy.init() 8 except pygame.error: 9 print("Error") 10 print("Joystick Name: " + joy.get_name()) 11 print("Number of Button : " + str(joy.get_numbuttons())) 12 print("Number of Axis : " + str(joy.get_numaxes())) 13 print("Number of Hats : " + str(joy.get_numhats()))
取得したい情報(PC起動前からコントローラを接続しておき、そのままプログラムを動かしたときのコンソール出力)
取得したい情報が変更される(一度コントローラを抜き差ししてプログラムを動かしたときのコンソール出力)
あなたの回答
tips
プレビュー