0

やあ、次の 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.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:

理由はわかりません。

値は 0 であってはなりません。

4

1 に答える 1

0

SDL_が付いている行は、SDL によって生成されます。それらは、生成されたライブラリにまだあるデバッグ オプションが原因であり、その理由はわかりません。

ただし、実際に軸を印刷するには、次のように書く必要があります

print j.get_axis(i)

それ以外の

j.get_axis(i)

最後に、適切な値を確実に取得するために、ループ内で値を出力する必要があります (たとえば、毎秒)。

for j in range(10):
    for i in range(0, j.get_numaxes()):
        print j.get_axis(i)
        time.sleep(1)
于 2013-10-09T14:53:10.840 に答える