Pygame Sprite 透明度碰撞

Pygame Sprite transparency collision

我想围绕纹理的物理路径创建物理体(切出 alpha 通道)。如何在 pygame 中完成?会有效果吗?

player_idle = pygame.image.load('data\img\player\idle\idle-1.png')

可以使用mask模块,尤其是pygame.mask.from_surface()函数:

Creates a Mask object from the given surface by setting all the opaque pixels and not setting the transparent pixels.

然后您可以存储结果 Mask object as mask-attribute in your Sprites and e.g. use pygame.sprite.collide_mask() 以进行像素完美的碰撞检测。