在Python中使用Pygame使图像背景透明时遇到问题

2 投票
2 回答
9395 浏览
提问于 2025-04-17 10:19

我在运行我们的游戏时遇到了一个比较困惑的问题。我正在用Python的pygame制作一个游戏,并且使用了从网上下载的图片。问题是,有些图片的背景是白色的,有些则是彩色的。我用Photoshop去掉了白色背景,并重新保存了图片。然而,当我在Python中运行模拟时,显示的却是原来的图片和原来的背景。这让我有点困惑。

下面是我用pygame实现图片的代码部分:

        self.image = pygame.image.load("jellyfishBad.png").convert()
        self.image.set_colorkey(white)
        self.rect = self.image.get_rect()

谢谢。

2 个回答

0

加载图片 self.image = pygame.image.load("jellyfishBad.png")

设置颜色键。 self.image.set_colorkey(white)

转换为透明度。 self.image(white).convert_alpha()

先设置颜色键,然后再转换为透明度。

2

在加载图片时,如果你想要每个像素都有透明效果,就需要使用 .convert_alpha() 这个方法。

所以,

self.image = pygame.image.load("jellyfishBad.png").convert_alpha()

撰写回答