De api de pygame, tiene:
event type.MOUSEBUTTONDOWN, MOUSEBUTTONUP, MOUSEMOTION
¿Pero no hay manera de distinguir entre clics derecho, izquierdo?
if event.type == pygame.MOUSEBUTTONDOWN: print event.button
event.button puede igualar varios valores enteros:
1 – clic izquierdo
2 – clic medio
3 – clic derecho
4 – desplazarse hacia arriba
5 – desplácese hacia abajo
En lugar de un evento, también puede obtener el estado actual del botón:
pygame.mouse.get_pressed()
Esto devuelve una tupla:
(clic izquierdo, botón central, clic derecho)
Cada uno es un entero booleano que representa el botón arriba / abajo.
Es posible que desee echar un vistazo más de cerca a este tutorial , así como a la respuesta de la n.st a esta pregunta de SO .
Así que el código que muestra cómo distinguir entre el clic derecho e izquierdo es así:
#!/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()