Détection des clics de souris Pygame
Dans Pygame, la détection des clics de souris sur les sprites nécessite une inspection manuelle pendant la boucle principale. Voici comment implémenter cette fonctionnalité :
Approche de la boucle principale :
Exemple Code
while ...: ev = pygame.event.get() for event in ev: if event.type == pygame.MOUSEBUTTONUP: pos = pygame.mouse.get_pos() clicked_sprites = [s for s in sprites if s.rect.collidepoint(pos)] # Perform action on clicked sprites
Remarque
: Pygame ne fournit pas de programmation basée sur les événements pour ce scénario.
Approche alternative:
handled = False while ...: if pygame.mouse.get_pressed()[0] and mysprite.rect.collidepoint(pygame.mouse.get_pos()) and not handled: print("You have opened a chest!") handled = pygame.mouse.get_pressed()[0]
Méthode de classe Sprite
:
class MySprite(Sprite): def is_clicked(self): return pygame.mouse.get_pressed()[0] and self.rect.collidepoint(pygame.mouse.get_pos())
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!