【问题标题】:Game and blitted images are no transparent游戏和 blitted 图像不透明
【发布时间】:2015-04-07 20:51:07
【问题描述】:

我的 pygame 游戏中没有透明 png 图像的问题。

我加载 png 图像并将它们 blit 到屏幕上。我有游戏屏幕的深色背景和图像的白色背景。虽然,blitted 的图像在白色背景下是可见的。我希望图像是透明的,但我无法实现。

我无法在互联网上找到准确的信息来解决我的问题。

有没有人可以指出我正确的方向并审查我的游戏?如何实现图像的透明度?

链接到 python 代码和图像: https://www.dropbox.com/s/ng99rqg4ur76msp/game.7z?dl=0

显示我的问题的图片:

游戏背景颜色:黑色。图片背景颜色:白色。如何使图像背景透明,使其不可见,无论游戏背景颜色如何?

【问题讨论】:

    标签: image pygame transparency blit


    【解决方案1】:

    我不明白你的问题,但如果你的图片有透明背景,你就可以使用

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

    如果它有一个白色背景,你可能想设置颜色键

    image = pygame.image.load("image.png").convert()

    image.set_colorkey((255,255,255))

    【讨论】:

    • 在这两种情况下,如果我有黑色屏幕背景,则加载的图像会显示白色背景。如果我使用 convert_alpha() 或 set_colorkey((255,255,255)) 也无济于事。请参考这个链接看看是什么问题:dropbox.com/s/ftz90nbgwaqa87w/problem.png?dl=0
    • 我试过了:image = pygame.image.load("image.png").convert() 而不是 convert_alpha()。我做了 image.set_colorkey((255,255,255)) 并且它有效。 Keltusamor,您为我指明了正确的方向,因此您的回答对我有所帮助。谢谢。
    • 是的,忘了提这个。如果你想设置一个颜色键,你只需转换()表面
    猜你喜欢
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    • 2020-04-20
    相关资源
    最近更新 更多