Python,乌龟不会出现,也不会响应键盘控制

Python, turtle won't appear and won't respond to keyboard controls

我正在尝试制作一个 Python 程序,其中玩家控制乌龟(来自 'turtle' 模块)到达目标,避开沿途的障碍。

绘制障碍物和目标的代码工作正常,但是由于某种原因玩家乌龟不可见并且不会响应键盘命令。我选择不包括整个代码,而是只包括相关部分。下面是播放器控件的代码。播放器已经设置为海龟,屏幕设置为 screen = turtle.Screen()。当我尝试 运行 它时,我没有收到任何错误。如果有人想看,我会留下 link to the code on my github

speed = 1


def travel():
    player.forward(speed)
    screen.ontimer(travel, 10)


player.pendown()
player.forward(10)
screen.onkey(lambda: player.setheading(90), 'Up')
screen.onkey(lambda: player.setheading(180), 'Left')
screen.onkey(lambda: player.setheading(0), 'Right')
screen.onkey(lambda: player.setheading(270), 'Down')

screen.listen()

travel()

screen.mainloop()

完成后,您的示例工作正常:

from turtle import Turtle, Screen

def travel():
    player.forward(1)
    screen.ontimer(travel, 10)

screen = Screen()
player = Turtle()

screen.onkey(lambda: player.setheading(0), 'Right')
screen.onkey(lambda: player.setheading(90), 'Up')
screen.onkey(lambda: player.setheading(180), 'Left')
screen.onkey(lambda: player.setheading(270), 'Down')

screen.listen()

travel()

screen.mainloop()

就您的大型程序而言,我建议您注释掉这些行:

goal._tracer(0)
...
obstacle._tracer(0)

你的 player 乌龟应该出现了。我建议您在完成大部分程序并且理解 tracer() 的作用之前不要乱用 tracer()