【问题标题】:How to get Mask with transparency in pygame?如何在pygame中获得具有透明度的面具?
【发布时间】:2012-07-22 12:19:02
【问题描述】:

我正在使用 Pygame 用 Python 编写游戏,并且我试图让我的玩家精灵不接触地图周围的树木。我的玩家精灵具有透明度(当然),当我使用pygame.mask.from_surface(self.getNextFrame()) 加载 Pygame 蒙版时,它只加载具有实际颜色的部分。

我的问题是,有谁知道如何让 pygame 加载具有原始图像透明度的蒙版?

【问题讨论】:

    标签: python pygame mask


    【解决方案1】:

    是的,使用第二个参数:

    mask = pygame.mask.from_surface(self.getNextFrame(), 0)
    

    通过将其设置为0,任何像素都会被视为不透明。见the documentation

    请注意,这样做的结果只是一个表面大小的矩形。所以实际上使用它可能会更高效:

    mask = pygame.mask.Mask(self.getNextFrame().get_size())
    mask.fill()
    

    【讨论】:

    • @Cornholio:另外,如果我的回答解决了您的问题,请不要忘记点击我回答左侧的绿色复选框来接受它。这给了我一点代表并标记答案,这对未来的用户也很好。
    • 更新:工作得很好!我用的是第二种方法,效果好多了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-28
    • 2021-10-01
    • 2010-12-10
    • 2016-02-28
    相关资源
    最近更新 更多