帮助,我正在尝试制作一个使用键盘控制乌龟方向的乌龟图形程序,但每次打开它时都会崩溃!!
import keyboard
from turtle import *
keyboard.add_hotkey('Up arrow', lambda:
forward(2))
keyboard.add_hotkey('Left arrow', lambda:
left(2))
keyboard.add_hotkey('right arrow', lambda:
right(2))
答案 0 :(得分:0)
首先,我们不需要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)上很难使用(单键按下生成多个事件,直到后来的按键才会激活,想要以管理员身份运行等)。