Python 如何使精灵图像背景显示为透明?

Python 如何使精灵图像背景显示为透明?,python,pygame,Python,Pygame,我试图使精灵在我的pygame代码中显示为图像。下面是一个精灵: class Enemy(pygame.sprite.Sprite): def __init__(self): super(Enemy, self).__init__() self.surf = pygame.Surface((20, 10)) self.surf = pygame.image.load("Rocket 1.png").convert()

我试图使精灵在我的pygame代码中显示为图像。下面是一个精灵:

class Enemy(pygame.sprite.Sprite):
    def __init__(self):
        super(Enemy, self).__init__()
        self.surf = pygame.Surface((20, 10))
        self.surf = pygame.image.load("Rocket 1.png").convert()
        self.rect = self.surf.get_rect(
            center=(
                random.randint(SCREEN_WIDTH + 20, SCREEN_WIDTH + 100),
                random.randint(0, SCREEN_HEIGHT),
            )
        )
        self.speed = random.randint(5, 10)

    def update(self):
        self.rect.move_ip(-self.speed, 0)
        if self.rect.right < 0:
            global score
            score += 1
            self.kill()
类敌人(pygame.sprite.sprite):
定义初始化(自):
超级(敌人,自己)。\uuuuu init\uuuuuuu()
self.surf=pygame.Surface((20,10))
self.surf=pygame.image.load(“Rocket 1.png”).convert()
self.rect=self.surf.get_rect(
居中=(
random.randint(屏幕宽度+20,屏幕宽度+100),
random.randint(0,屏幕高度),
)
)
self.speed=random.randint(5,10)
def更新(自我):
自校正移动ip(-自校正速度,0)
如果self.rect.right<0:
全球得分
分数+=1
self.kill()
它可以工作,但图像显示为黑色背景。图为:
如您所见,图像没有背景,但当我运行代码时,它仍然显示为黑色背景。

我使用@mkrieger1给出的第一个链接,发现
.convert\u alpha
有效。谢谢

这回答了你的问题吗?它仅说明如何在该问题中创建具有透明背景的曲面。我正在试着制作一个有图像的。是的,是透明的而不是黑色的。这不是你需要的吗?你试过了吗?你也检查过这些吗,不,
self.surf=pygame.Surface((20,10))
,因为在下面的行中,您将
self.surf
设置为其他内容。