如何在 sprite 上绘制 sprite 以便它们都可以在 pygame 中看到

How to draw sprite on a sprite so that both of them will be seen in pygame

我有两个精灵,一个是坦克精灵,另一个是保护精灵。我想在坦克精灵上画保护精灵。精灵图片如下:

当我在坦克精灵上绘制保护精灵时,结果如下:

保护精灵的中心是空的(根据photoshop,我检查了很多次)。我正在使用以下代码来保护精灵

self.image = pygame.transform.scale(
        pygame.image.load(os.path.join(imgFolderExp, "Powerups", "protection-3.png")).convert(), (40, 48))
self.image.set_colorkey((0, 0, 0))

我应该怎么做才能只画保护精灵的线条,以便在组合绘制的中间看到坦克?

PNGs have per pixel alpha. It is not necessary to set a color key. Simply blit the protector on the tank. convert() changes the pixel format to a format without alpha per pixel and removes the transparency information. Use convert_alpha() 改为:

filepath = os.path.join(imgFolderExp, "Powerups", "protection-3.png") 

protector_surf = pygame.image.load(filepath).convert_alpha()

self.image = pygame.transform.scale(protector_surf, (40, 48))