Python Turtle-Snake程序中的自定义形状问题



我有一个python程序,使用turtle制作游戏"蛇";。它功能齐全。在这一点上,我添加了.gif图片来美化它。当我试图使用自定义形状作为蛇头时,问题就出现了。如果我使用一个基本的形状从龟状";三角形";或";箭头";它运行良好。它正确转动,并按预期打印在第一个身体部位上。当我将其更改为我的自定义图像时,问题是它打印在第一个身体部位下方,无法转动。

对照样本

if direction == "up":
if snake_direction != "down":
snake_direction = "up"
head_stamper.setheading(90)

冲压工过去制作许多部分,并在第一部分上加一个头。

for segment in snake:
stamper.goto(segment[0], segment[1]) #These are the body segments, they work fine.
stamper.stamp()
head_stamper.goto(new_head)

此处显示两个压模。

# Stamper for each body section
stamper = turtle.Turtle()
stamper.shape(bod_segment)
stamper.shapesize(25 / 20)
stamper.penup()
# Special stamper just for the snake's head.
head_stamper = turtle.Turtle()
# head_stamper has no issues when I make the shape "arrow" or "triangle", etc.
head_stamper.shape(head_segment)
stamper.shapesize(25 / 20)
head_stamper.penup()

我认为这是所有与问题相关的代码。

当我将其更改为自定义图像时,问题是它已打印在第一个身体节段下面,不能转动。

至于不转向,这在register_shape()(也称为addshape():(的Python龟文档中得到了解决

注意:转动乌龟时,图像形状不会旋转,因此会旋转不要显示乌龟的航向!

至于重叠问题,我只能猜测。一般来说,乌龟的规则是最后移动的东西在上面。因此,改变你的普通头部形状会使其位于顶部,但由于你的图像形状实际上并没有改变,它最终会位于底部。再说一遍,只是猜测。

相关内容

  • 没有找到相关文章

最新更新