在turtle中加载精灵而不使用pygame

3 投票
2 回答
2799 浏览
提问于 2025-04-29 19:48

我想为我的2D射击游戏创建一些目标(非常简单的那种),但是我不知道怎么加载一张图片,这个真的可以做到吗?现在我用 turtle.stamp() 来打印目标,但我想用一张图片代替。我知道有 bgpic() 这个方法,所以我在想 turtle.load('image.png') 之类的东西可能是存在的?或者也许可以创建某种精灵...

别笑我,我想在不使用PyGame的情况下做到这一点 :)

相关文章:

  • 暂无相关问题
暂无标签

2 个回答

1

在Turtle中,你只能使用.gif格式的文件(你可以在ezgif.com上免费转换任何图片并调整大小)。

背景:

win = turtle.Screen()
win.bgpic('bacground.gif')

或者使用其他文件名(确保在同一个文件夹里)。

使用形状gif:

win.register_shape('pic1.gif')

target = turtle.Turtle()
target.shape('pic1.gif') # etc

示例游戏: https://www.youtube.com/watch?v=q49Xyo0LYDs

2

很遗憾,使用Turtle这个库是无法做到的。不过,我模糊记得有一个叫 turtle.begin_poly() 的方法。这个方法可以让你用海龟画图,并且可以把你的海龟变成这些图形的样子。

>>> turtle.home()
>>> turtle.begin_poly()
>>> turtle.fd(100)
>>> turtle.left(20)
>>> turtle.fd(30)
>>> turtle.left(60)
>>> turtle.fd(50)
>>> turtle.end_poly()
>>> p = turtle.get_poly()
>>> register_shape("myFavouriteShape", p)

可惜,这就是你能做到的最接近的了。不过,你可以查看一下 Turtle的文档,了解更多相关内容!

撰写回答