我们正在课堂上尝试坦克游戏。我能够加载坦克图像,但图像不旋转。我做了一个搜索,但找不到解决方案(如果存在,则为简单的解决方案)。
这是我到目前为止(非常基础)。我希望有一个简单的解决方案来旋转图像左/右转。
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()
答案 0 :(得分:1)
我知道这是一个老问题,但从技术上讲,我发现无法解决这个问题,并且针对您想要的任何位置(face_left,faceing_right等)具有多个图像,并在Right / Left(等)上更新图像功能。
tank = turtle.Turtle()
tank.shape("tank_up.gif")
def left():
tank.shape("tank_left.gif")
tank.left(20)
def right():
tank.shape("tank_right.gif")
tank.right(20)
这是动画的原理(可以根据需要移动任意帧),并且有效。
答案 1 :(得分:0)
您的示例中不清楚的是,当您使用tank.shape("turtle")
时,您可以看到乌龟改变方向,但是当您使用tank.shape(tankImage)
时,您看不到任何移动。 addshape()
的{{3}}中包含此内容:
注意:转动乌龟时图像形状不会旋转,所以它们会这样做 不显示乌龟的标题!
简单的答案是你不能这样做。但是,如果您能够使用多边形绘制坦克,则可以定义正确旋转的光标。请参阅turtle documentation这是一个坦克多边形示例以及my answer to "Change appearance of turtle",它解释了如何确定坦克绘图的正确转向。