我们正在尝试一个坦克游戏在我的类。我可以加载坦克图像,但图像不旋转。我做了搜索,但无法找到一个解决方案(或一个简单的,如果它存在)。
这是我目前所知道的(非常基本的)。我希望有一个简单的解决方案来旋转图像向左/向右。
import turtle
screen = turtle.Screen()
tankImage = "tank.gif"
screen.addshape(tankImage)
tank = turtle.Turtle()
tank.shape("turtle")
def left():
tank.left(20)
def right():
tank.right(20)
screen.listen()
screen.onkey(left, "Left")
screen.onkey(right, "Right")
turtle.mainloop()
3条答案
按热度按时间qhhrdooz1#
示例中不清楚的是,当使用
tank.shape("turtle")
时,可以看到海龟改变方向,但当使用tank.shape(tankImage)
时,看不到任何移动,这在turtle documentation foraddshape()
中有介绍:注意:当转动海龟时,图像形状不旋转,因此它们不显示海龟的方向!
简单的答案是你不能这样做。然而,如果你能用多边形绘制坦克,那么你可以定义一个正确旋转的光标。参见my answer to "Change appearance of turtle"坦克多边形的例子以及my answer to "Logic error in python turtle"解释了如何调整坦克绘图的方向以正确旋转。
roqulrg32#
我知道这是一个老问题,但从技术上讲,我找到了一种方法,它是不可能的,是有多个图像的任何位置,你想要的(facing_left,facing_right等)和更新图像的右/左(等)功能。
这是动画的一个原则(为你想要的任何动作改变帧),它起作用了。
vxbzzdmp3#
**turtle.settiltangle(angle)**帮助我解决了这个问题!但是,我使用了一个预置的“海龟”符号,而不是一个图像。我的“海龟”符号可以有几个方向。它只帮助我旋转了一次符号。