我正在使用 Pygame 用 Python 编写游戏,并且我试图让我的玩家精灵不接触地图周围点缀的树木。我的玩家的精灵具有透明度(当然),当我用 加载 Pygame 蒙版时pygame.mask.from_surface(self.getNextFrame())
,它只加载具有实际颜色的部分。
我的问题是,有谁知道如何让 pygame 加载具有原始图像透明度的蒙版?
是的,使用第二个参数:
mask = pygame.mask.from_surface(self.getNextFrame(), 0)
通过将其设置为0
任何像素都被视为不透明。请参阅文档。
请注意,这样做的结果只是表面大小的矩形。因此,使用它实际上可能会更高效:
mask = pygame.mask.Mask(self.getNextFrame().get_size())
mask.fill()