0

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

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

1 回答 1

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)上很难使用(单次按键产生多个事件,直到后来的按键才触发,想要以管理员身份运行等)

于 2017-08-28T06:43:49.823 回答