我一直在使用 pygame 作为创建游戏的一种方式,我想将控制器游戏玩法融入游戏中。我一直在 pygame 上使用新的 Xbox One 控制器,并且能够在 pygame 等中检测到控制器,但是 pygame.get_event 函数都没有工作,并且即使我移动控制器的操纵杆并按下时也总是返回它们的默认值按钮也是如此。
我试过 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))
我打印出控制器所有属性的第一部分工作正常,它似乎永远不知道控制器的操纵杆何时移动。