用Pygame、Python 3快速播放非矩形精灵

用Pygame、Python 3快速播放非矩形精灵,python,image,python-3.x,pygame,pygame-surface,Python,Image,Python 3.x,Pygame,Pygame Surface,我目前正在制作一个游戏,其中我使用pygame.image.load()函数从图像(PNG)加载精灵和背景 我的问题是,并不是所有的精灵都是长方形的——正因为如此,它们在背景上留下了难看的空白,我将它们放在了背景上。 在下图中,白色是船精灵的一部分,但我希望它与背景融合 有没有简单的方法来解决这个问题?提前感谢您的帮助。如果图像具有透明背景(某些像素是透明的)(PNG),则必须使用 若图像并没有透明背景(GIF、JPG),那个么你们可以使用,pygame会将所选颜色视为透明 image =

我目前正在制作一个游戏,其中我使用
pygame.image.load()
函数从图像(PNG)加载精灵和背景

我的问题是,并不是所有的精灵都是长方形的——正因为如此,它们在背景上留下了难看的空白,我将它们放在了背景上。 在下图中,白色是船精灵的一部分,但我希望它与背景融合


有没有简单的方法来解决这个问题?提前感谢您的帮助。

如果图像具有透明背景(某些像素是透明的)(PNG),则必须使用

若图像并没有透明背景(GIF、JPG),那个么你们可以使用,pygame会将所选颜色视为透明

 image = pygame.image.load(filename).set_colorkey(color)
许多精灵图像使用粉红色作为关键颜色


您确定船舶图像本身是透明的吗?我已成功加载透明。PNG很好。另外,您使用了什么软件制作该图像?我尝试使用convert_alpha(),但没有任何区别。可能是因为我在mspaint上制作的吗?你必须使用带有透明像素的PNG。如果使用图像查看器看到白色背景,则没有透明背景,
convert_alpha()
将无法工作。然后您只能使用
设置颜色键(白色)
(其中
白色=(255255255)
)好的,谢谢。。。但是我怎样才能在mspaint或其他软件中生成具有透明像素的图像呢?我没有
mspaint
,但我认为在
mspaint
中无法获得透明背景。您需要,或任何其他位图程序(或如果您更喜欢使用矢量对象)
 image = pygame.image.load(filename).set_colorkey(color)