python中操纵杆对象的问题
你好, 我正在尝试使用以下python脚本读取连接到Raspberry Pi的USB操纵杆:python中操纵杆对象的问题,python,raspberry-pi,joystick,Python,Raspberry Pi,Joystick,你好, 我正在尝试使用以下python脚本读取连接到Raspberry Pi的USB操纵杆: import pygame pygame.init() print pygame.joystick.get_init() print pygame.joystick.get_count() j = pygame.joystick.Joystick(0) print j j.init() print j.get_init() print j.get_id() for i in range(0, j.ge
import pygame
pygame.init()
print pygame.joystick.get_init()
print pygame.joystick.get_count()
j = pygame.joystick.Joystick(0)
print j
j.init()
print j.get_init()
print j.get_id()
for i in range(0, j.get_numaxes()):
j.get_axis(i)
pygame.quit()
我得到的输出结果是:
1
1
<Joystick object at 0xb6cb2120>
1
0
SDL_JoystickGetAxis value:0:
SDL_JoystickGetAxis value:0:
SDL_JoystickGetAxis value:0:
SDL_JoystickGetAxis value:0:
1
1.
1.
0
SDL_JoystickGetAxis值:0:
SDL_JoystickGetAxis值:0:
SDL_JoystickGetAxis值:0:
SDL_JoystickGetAxis值:0:
我不知道为什么
值不应为0。带有SDL的行由SDL生成。它们是由调试选项引起的,该选项仍在生成的库中,我不知道为什么
但是,要实际打印轴,您应该
打印j.get\u轴(i)
而不是
j.get\u轴(i)
最后,为了确保获得正确的值,您应该在循环中打印这些值(例如,每秒打印一次)
现在输出是SDL_JoystickGetAxis值:0:0.0 SDL_JoystickGetAxis值:0:0.0 SDL_JoystickGetAxis值:0:0.0 SDL_JoystickGetAxis值:0:0.0 SDL_JoystickGetAxis值:0:0.0 SDL_JoystickGetAxis值:0:0,由于我不显示控制台,所以我使用pySide来显示轴值,留下所有SDL_uu调试信息。您应该寻找一种方法以其他方式显示值,而不是通过控制台。
for j in range(10):
for i in range(0, j.get_numaxes()):
print j.get_axis(i)
time.sleep(1)