我创建了一个点击游戏,我有一个透明的图像(我在 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)
所以我希望只有当我点击图像的彩色部分而不是透明背景时才触发点击事件。
谢谢,