De l'api de pygame, il a:
event type.MOUSEBUTTONDOWN, MOUSEBUTTONUP, MOUSEMOTION
Mais il n'y a aucun moyen de distinguer les clics droit et gauche?
if event.type == pygame.MOUSEBUTTONDOWN:
print event.button
event.button peut égaler plusieurs valeurs entières:
1 - clic gauche
2 - clic du milieu
3 - clic droit
4 - faites défiler vers le haut
5 - faites défiler vers le bas
Au lieu d'un événement, vous pouvez également obtenir l'état actuel du bouton:
pygame.mouse.get_pressed()
Cela renvoie un tuple:
(clic gauche, clic milieu, clic droit)
Chacun est un entier booléen représentant le bouton haut/bas.
Vous voudrez peut-être y regarder de plus près tutoriel , ainsi que la réponse du n.st à this SO question .
Ainsi, le code qui vous montre comment faire la distinction entre le clic droit et le clic gauche se présente comme suit:
#!/usr/bin/env python
import pygame
LEFT = 1
RIGHT = 3
running = 1
screen = pygame.display.set_mode((320, 200))
while running:
event = pygame.event.poll()
if event.type == pygame.QUIT:
running = 0
Elif event.type == pygame.MOUSEBUTTONDOWN and event.button == LEFT:
print "You pressed the left mouse button at (%d, %d)" % event.pos
Elif event.type == pygame.MOUSEBUTTONUP and event.button == LEFT:
print "You released the left mouse button at (%d, %d)" % event.pos
Elif event.type == pygame.MOUSEBUTTONDOWN and event.button == RIGHT:
print "You pressed the right mouse button at (%d, %d)" % event.pos
Elif event.type == pygame.MOUSEBUTTONUP and event.button == RIGHT:
print "You released the right mouse button at (%d, %d)" % event.pos
screen.fill((0, 0, 0))
pygame.display.flip()