2016-12-17 12 views
1

ゲームを作成する手段としてpygameを使用しています。コントローラのゲームプレイをゲームに組み込みたいと思います。私はpygameで新しいXbox Oneコントローラーを使用していて、pygameなどのコントローラーを検出できましたが、pygame.get_event関数のどれも動作せず、コントローラーのジョイスティックを動かしてボタンも同様です。PygameのXboxコントローラの動きを検出できません

pygame.event.pump()を使用してみました。ここに私のコードは次のとおりです。私は、コントローラのすべてのプロパティをプリントアウトする最初の部分は正常に動作します

xboxController = pygame.joystick.Joystick(0) 
    xboxController.init() 
    print(xboxController.get_name()) 
    print("Axes", (xboxController.get_numaxes())) 
    print("Balls", xboxController.get_numballs()) 
    print("Buttons", xboxController.get_numbuttons()) 
    print("Hats", xboxController.get_numhats()) 
    if xboxController.get_init() == True: print("Initialized properly") 

    while not found: 
     trial += 1 
     print(trial) 
     pygame.event.pump() 
     for a in range(0, xboxController.get_numaxes()): 
      if round(xboxController.get_axis(a)*100) != 0: 
       print(xboxController.get_axis(a)) 
     for b in range(0, xboxController.get_numballs()): 
      if xboxController.get_ball(b) != 0: 
       print(xboxController.get_ball(b)) 
     for c in range(0, xboxController.get_numbuttons()): 
      if xboxController.get_button(c) != False: 
       print(xboxController.get_axis(button(c))) 
     for d in range(0, xboxController.get_numhats()): 
      if xboxController.get_hat(d) != (0, 0): 
       print(xboxController.get_hat(d)) 

、コントローラのジョイスティックが移動している際に知っていないようにみえだけでした。

答えて

1

Xboxコントローラーでゲームをしていて、非常に似た問題が発生しました。私の問題はpygame.event.pump()の代わりにpygame.event.get()を使うだけで修正されました。あなたは結果で何かをする必要はありません、ちょうどイベントを取得するpygameジョイスティックの位置を更新するようです。

+1

応答のおかげで、私はpygame.event.pum()をpygame.event.get()に置き換えましたが、それはまだ動作していないようです。 –

+0

hmm、strange。ボタンが正常に押されたことを検出しますか? – pydude

+0

何も検出されません。上記のプログラムをすべての機能をテストするために構築したが、何も動作していないようだ。すべてがデフォルト値を返します。 –

関連する問題