2

我正在尝试使用 Pygame 检测 USB 操纵杆。每次我运行此代码时,程序都会因错误而崩溃:第 10 行中的“操纵杆未初始化”。

import pygame as p

p.init()
stick = p.joystick.Joystick(0)
#get init returns always False
print("initialized:",bool(stick.get_init()))
#getting the name works as it should
print(stick.get_name())
#says always "pygame.error: Joystick not initialized"
print("axis_0",stick.get_axis(0))   
p.quit()

我做错了什么还是这是一个错误?(我在 Python 3.2 和 Windows 7 上使用最新的 pygame 版本。)感谢您提供的所有信息

4

1 回答 1

4

我自己刚开始使用 Pygame。我pygame.joystick.init()先用了。所以,我猜你会p.init()p.joystick.init().

来自 Pygame 文档:(http://www.pygame.org/docs/ref/joystick.html)

您可以调用 Joystick.get_name - 获取 Joystick 系统名称和 Joystick.get_id - 获取 Joystick ID 函数,而无需初始化 Joystick 对象。

我认为您还必须在其中写一行:

stick.init()

然后初始化棒并从中接收事件。

于 2012-08-03T19:17:52.800 回答