我试图制作一个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()
答案 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()
的作用。