我想要一只乌龟,当我点击向右箭头时,它会向左移动,反之亦然.我设法移动了乌龟,但当按键几秒钟时,它只移动了一只



我的乌龟应该朝我显示的方向走,但出现了问题。当我按下一个键时,乌龟会移动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必须有焦点。

最新更新