Python,龟不会出现并且不会响应键盘控制

时间:2018-06-03 06:14:24

标签: python controls turtle-graphics

我试图制作一个Python程序,让玩家控制一只乌龟(来自海龟'模块)到达目标,避开沿途的障碍。

障碍物和目标绘图的代码工作正常,但由于某种原因,玩家乌龟不可见并且不会响应键盘命令。我选择不包含整个代码,而只包括相关部分。以下是播放器控件的代码。播放器已设置为乌龟,屏幕设置为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()

1 个答案:

答案 0 :(得分:0)

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

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()的作用。