我的乌龟应该朝我显示的方向走,但出现了问题。当我按下一个键时,乌龟会移动10,如果我有时按住这个键,它就不会移动。我想换一只乌龟,这样如果我的手指在钥匙上,它就可以继续移动
from turtle import Turtle
import turtle
STARTING_POSITION = (0, -260)
MOVE_DISTANCE = 20
screen = turtle.Screen()
screen.setup(width=900, height=600)
class Board(Turtle):
def __init__(self):
super().__init__()
self.shape('square')
self.hideturtle()
self.shapesize(1, 6, 1)
self.penup()
self.goto(STARTING_POSITION)
self.showturtle()
self.speed("fast")
def move_left(self):
if self.xcor() > -390:
self.back(MOVE_DISTANCE)
def move_right(self):
if self.xcor() < 390:
self.forward(MOVE_DISTANCE)
def go_to_start(self):
self.goto(STARTING_POSITION)
board = Board()
screen.listen()
screen.onkey(board.move_left, "Left")
screen.onkey(board.move_right, "Right")
screen.mainloop()
如果使用onkeypress
而不是onkey
,按下该键时乌龟将继续移动。
来自python turtle文档:
乌龟。按键(有趣,键=无(
参数fun–一个没有arguments或None
密钥–字符串:密钥(例如"a"(或密钥符号(例如"空格"(
如果键被给定,则将乐趣绑定到键的按键事件,或绑定到任何如果没有按键,则按键事件。备注:为了能够注册关键事件,TurtleScreen必须有焦点。