首先,我们不需要keboard模块来用键盘在屏幕上移动乌龟,我们可以使用乌龟自己的键盘事件:
import turtle
turtle.shape("turtle")
turtle.onkey(lambda: turtle.forward(20), "Up")
turtle.onkey(lambda: turtle.left(45), "Left")
turtle.onkey(lambda: turtle.right(45), "Right")
turtle.listen()
turtle.mainloop()
确保在键入之前单击窗口以将其激活。如果您真的想使用 keybard 模块,这似乎对我有用:
import turtle
import keyboard
turtle.shape("turtle")
keyboard.add_hotkey('up arrow', turtle.forward, args=[20])
keyboard.add_hotkey('left arrow', turtle.left, args=[45])
keyboard.add_hotkey('right arrow', turtle.right, args=[45])
turtle.mainloop()
您还可以使用lambda
变体:
keyboard.add_hotkey('right arrow', lambda: turtle.right(45))
虽然在我的系统(OSX)上很难使用(单次按键产生多个事件,直到后来的按键才触发,想要以管理员身份运行等)