社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

mayor_mccheese • 3 年前 • 1147 次点击  

我有一个python程序,使用turtle来制作游戏“Snake”。它功能齐全。现在我要加入。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()

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/133295
 
1147 次点击  
文章 [ 1 ]  |  最新文章 3 年前
cdlane
Reply   •   1 楼
cdlane    3 年前

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

至于不转向,这在 register_shape() 又称作 addshape() :

注: 当转动海龟时,图像形状不会旋转,所以它们会旋转 不要显示海龟的头部!

至于重叠问题,我只能猜测。一般来说,海龟的规则是,最后移动的东西在上面。因此,转动你的普通头部形状会使其位于顶部,但因为你的图像形状实际上没有转动,所以它会位于底部。再说一次,只是猜测而已。