【发布时间】:2019-11-27 22:34:13
【问题描述】:
一切正常,但我无法让程序打印('完全向后')和打印(“完全正确”)。我很确定我的值在 if 语句中是正确的。
我有另一个程序可以显示模拟摇杆所在位置的值并且我的值是正确的。我试过切换大于/小于语句,但什么也没做,我仔细检查了这些值。
joystick = pygame.joystick.Joystick(i)###########
joystick.init()
for i in range( 0, 2 ):
axis = joystick.get_axis( i )
#print('Axis {} value: {:>6.3f}'.format(i, axis))
axis0 = joystick.get_axis(0)
axis1 = joystick.get_axis(1)
#backward totally
if axis1 == 1.000:
print("backward totally")
#Nothing GOOD
if -.100 < axis0 < .100 and -.100 < axis1 < .100:
print('centered')
#forward totally GOOD
if axis1 == -1.000:
print('forward totally')
#left totally GOOD
if axis0 == -1.000 and -.599 < axis1 < 0.200:
print("left totally")
#right totallly
if axis0 == 1.000 and -.599 < axis1 < 0.200:
print('Right totally')
它不会给出错误它只是不打印任何东西,我不知道为什么,我希望它完全正确或完全向后打印。
【问题讨论】:
-
如果只删除 if 语句并打印出轴 0 和轴 1 的值会发生什么?当你向右猛击操纵杆时,它真的会变成 1 吗?
-
是的,它显示 1,但是当我将它放入 if 语句时,它似乎不起作用。
标签: python python-3.x pygame bluetooth raspberry-pi