我正在编写一个简单的python代码来接收定义操纵杆位置的串行字符串,将X和Y分开并相应地执行键盘命令。
在我的代码中,我试图这样做,当用户将操纵杆保持在右侧时, - >保持按下状态,然后释放。要做到这一点,我正在使用PyUserInput库。但是,正确的键会无限期地按下并且角色(模仿器中的Megaman)只是在它的死亡中运行。任何人都可以帮我弄清楚为什么会发生这种情况,我该如何解决?
import serial
from pykeyboard import PyKeyboard
control = PyKeyboard()
try:
arduino = serial.Serial('/dev/ttyACM0', 9600)
except:
print "Failed to connect on /dev/ACMDUSB0"
while True:
xy = arduino.readline()
if xy is "":
print ("NULL")
else:
x, y = xy.split("_")
x = int(x)
y = int(y)
while(x > 700):
control.press_key(control.right_key)
control.release_key(control.right_key)
print ("X = {0}\nY = {1}".format(x, y))
答案 0 :(得分:0)
正如@Ignacio Vazquez-Abrams在评论部分指出的那样,错误是由于我没有重新检查在while循环结束时按下哪些控件,从而使其无限运行。