【发布时间】:2012-07-22 12:19:02
【问题描述】:
我正在使用 Pygame 用 Python 编写游戏,并且我试图让我的玩家精灵不接触地图周围的树木。我的玩家精灵具有透明度(当然),当我使用pygame.mask.from_surface(self.getNextFrame()) 加载 Pygame 蒙版时,它只加载具有实际颜色的部分。
我的问题是,有谁知道如何让 pygame 加载具有原始图像透明度的蒙版?
【问题讨论】:
我正在使用 Pygame 用 Python 编写游戏,并且我试图让我的玩家精灵不接触地图周围的树木。我的玩家精灵具有透明度(当然),当我使用pygame.mask.from_surface(self.getNextFrame()) 加载 Pygame 蒙版时,它只加载具有实际颜色的部分。
我的问题是,有谁知道如何让 pygame 加载具有原始图像透明度的蒙版?
【问题讨论】:
是的,使用第二个参数:
mask = pygame.mask.from_surface(self.getNextFrame(), 0)
通过将其设置为0,任何像素都会被视为不透明。见the documentation。
请注意,这样做的结果只是一个表面大小的矩形。所以实际上使用它可能会更高效:
mask = pygame.mask.Mask(self.getNextFrame().get_size())
mask.fill()
【讨论】: