python - Pygame Sprite 透明度碰撞

标签 python pygame pygame-surface

我想围绕纹理的物理路径创建物理体(剪掉 Alpha channel )。如何在 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对象作为 Sprites 中的 mask 属性,例如使用pygame.sprite.collide_mask()用于像素完美的碰撞检测。

关于python - Pygame Sprite 透明度碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57886086/

相关文章:

python - 如何在 Python 中使用 pyodbc 通过 IP 地址连接到 sql server 2008

python - 如何在 pygame 中显示带有可移动透明圆圈的黑色大矩形?

python - pygame中的重力

python - 使多个对象自动移动 pygame 中指定的对象数量

python - 如何保存 pygame 屏幕的一部分并将其传输到另一个位置?

python - Django 模板 : How to determine which object/model a queryset is composed of?

Python从py模块读取所有导入语句的简单方法

python - PyGame 负色/表面

python - Excel 文件对比 Pandas 中的 read_excel

python-3.x - Pygame 水物理无法按预期工作