小编Cod*_*gFR的帖子

在蒙版图像pygame上检测鼠标事件

我创建了一个点击游戏,我有一个透明的图像(我在 Pixel Perfect Collision 的 Mask 中设置)但是当我还点击透明部分时,会检测到 MOUSEBUTTONDOWN 事件。


实际上,我在 Player 类中的代码是:

self.image = pygame.image.load(str(level) + ".png").convert_alpha()
self.mask = pygame.mask.from_surface(self.image)
self.image_rect = self.image.get_rect(center=(WW, HH))
Run Code Online (Sandbox Code Playgroud)

这在主循环中:

x, y = event.pos
if my_player.image_rect.collidepoint(x, y):
    my_player.click()
Run Code Online (Sandbox Code Playgroud)

所以我希望只有当我点击图像的彩色部分而不是透明背景时才触发点击事件。

谢谢,

python events pygame mask

2
推荐指数
1
解决办法
526
查看次数

标签 统计

events ×1

mask ×1

pygame ×1

python ×1