代码之家  ›  专栏  ›  技术社区  ›  Tim

在pygame中加载透明背景精灵时出现问题

  •  1
  • Tim  · 技术社区  · 17 年前

    def load_image(name, colorkey=None):
        fullname = os.path.join('data', name)
        try:
            image = pygame.image.load(fullname)
        except pygame.error, message:
            print 'Cannot load image:', fullname
            raise SystemExit, message
        image = image.convert()
        if colorkey is not None:
            if colorkey is -1:
                colorkey = image.get_at((0,0))
            image.set_colorkey(colorkey, RLEACCEL)
        return image, image.get_rect()
    

    出于某种原因,每次加载图像时,背景都会自动更改为黑色?在这种情况下,我不使用彩色键,因为我的图像会在它们周围出现一个白色边框,这是非常明显的,因为我的游戏背景不断变化。

    有什么想法吗?

    1 回复  |  直到 17 年前
        1
  •  3
  •   Kylotan    17 年前

    调用image.convert()。从 docs for Surface.convert

    “转换后的曲面将没有 原来有。见 Surface.convert_阿尔法 图像的像素格式包括 用于保存或 正在创建每像素字母。”