如何使用箭头键在 Python 3 中移动海龟

新手上路,请多包涵

我无法让我的乌龟跟随箭头键,我们将不胜感激任何有关如何这样做的帮助。我确定之前有人问过这个问题,但我似乎找不到它,而我找到的是针对旧版本的。

 import turtle
#screen
wn=turtle.Screen()
wn.bgcolor("lightblue")

I plan on this being a spaceship game
#Turtle Player
spaceship= turtle.Turtle()
spaceship.color("red")
spaceship.penup()
speed=1

这就是我卡住的地方,我不知道如何让乌龟跟随箭头键

#keyboard bindings

while True:
    spaceship.forward(speed)

原文由 Elyad K 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 401
1 个回答

避免在海龟图形程序中使用像 while True: 这样的无限循环,它可以阻止您的某些事件触发。

下面是我可以想出的让你的宇宙飞船可以航行的最少代码。您应该能够以此为基础:

 from turtle import Turtle, Screen

wn = Screen()
wn.bgcolor('lightblue')

spaceship = Turtle()
spaceship.color('red')
spaceship.penup()

speed = 1

def travel():
    spaceship.forward(speed)
    wn.ontimer(travel, 10)

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

wn.listen()

travel()

wn.mainloop()

在发出键盘命令之前单击海龟图形窗口以确保它正在侦听。此外,对于键的工作方式还有其他方法,我在这里使用了 绝对 运动,但您可能需要 相对 运动,每次按下都会逐渐修改您的方向。

原文由 cdlane 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题