PyGame. Eventos de ratón
elif event.type == pygame.MOUSEBUTTONDOWN:print("Botón del mouse presionado:", event.button)if event.button == 1:print ("Se ha pulsado el botón izquierdo del ratón (botón ",event.button,")")elif event.button == 2:print ("Se ha pulsado el botón central del ratón (botón ",event.button,")")elif event.button == 3:print ("Se ha pulsado el botón derecho del ratón (botón ",event.button,")")elif event.button == 4:print ("Se ha accionado la rueda del botón hacia delante (evento ratón ",event.button,")")elif event.button == 5:print ("Se ha accionado la rueda del botón hacia atrás (evento ratón ",event.button,")")
Una vez capturado el evento MOUSEBUTTONDOWN o MOUSEBUTTONUP (v.g. event.type == pygame.MOUSEBUTTONDOWN), podemos identificar el botón pulsado (event.button) y, tomando como referencia la equivalencia entre identificador numéricos (v.g. if event.button == 1:) ...
- 1 para el botón izquierdo
- 2 para el central
- 3 para el derecho
- 4 para el avance de la rueda
- y 5 para el retroceso
if event.type == pygame.MOUSEMOTION:print(f'Ratón movido a {event.pos} ')
... nos abren un amplio mundo de opciones (antes sólo print(f'Ratón movido a {event.pos} ')) una vez que capturamos los valores numéricos de las posiciones cartesianas x - y, como es el caso del [script que sigue]...
import pygame
# Inicializar Pygame
pygame.init()
# Configurar la pantalla
window_size = ( 800 , 600 )
screen = pygame.display.set_mode(window_size)
pygame.display.set_caption( 'Ejemplo de posición del mouse' )
# Configurar la fuente para mostrar texto
font = pygame.font.Font( None , 36 )
# Bucle principal (game loop)
running = True
while running:
#Captura todos los eventos que suceden en la ventana
for event in pygame.event.get():
#Captura evento de ventana (QUIT) para cerrarla
if event.type == pygame.QUIT:
running = False
# Rellena la pantalla con blanco (RGB 255,255,255)
screen.fill(( 255 , 255 , 255 ))
# Obtiene la posición actual del mouse...
x, y = pygame.mouse.get_pos()
# ... y la presenta en el texto en color rojo (RGB 250,0,0)
text = font.render( f'Posición del puntero del ratón: {x} - {y}' , True , ( 250 , 0 , 0 ))
# Redibuja el texto en la pantalla...
screen.blit(text, ( 20 , 20 ))
#... y la actualiza
pygame.display.flip()
# Salir de Pygame
pygame.quit()

No hay comentarios:
Publicar un comentario
Comenta esta entrada