海龟图片崩溃

时间:2017-08-28 03:01:42

标签: lambda keyboard turtle-graphics

帮助,我正在尝试制作一个使用键盘控制乌龟方向的乌龟图形程序,但每次打开它时都会崩溃!!

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))

1 个答案:

答案 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)上很难使用(单键按下生成多个事件,直到后来的按键才会激活,想要以管理员身份运行等)。