La funzione mouse.get_pos() di pygame
La funzione mouse.get_pos() di pygame mi permette di individuare le coordinate del puntatore del mouse sullo schermo.
x, y = pygame.mouse.get_pos()
E' una funzione indispensabile per costruire l'interfaccia GUI di qualsiasi applicazione o script python.
Un esempio pratico
Questo script sposta una immagine nel punto in cui clicco con il mouse.
- import pygame
- pygame.init()
- screen = pygame.display.set_mode((400,300))
- immagine = pygame.image.load('smile.png').convert_alpha()
- x=y=100
- running = True
- while running:
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- running=False
- if event.type == pygame.MOUSEBUTTONDOWN:
- x, y = pygame.mouse.get_pos()
- x -= immagine.get_width() / 2
- y -= immagine.get_height() / 2
- screen.fill((0, 0, 0))
- screen.blit(immagine, (x, y))
- pygame.display.update()
Nelle prime tre righe importo la libreria pygame e definisco il display.
Nella riga 4 carico l'immagine smile.png nella variabile immagine e nella riga seguente imposto le coordinate iniziali x=y=100 dell'immagine.
immagine = pygame.image.load('smile.png').convert_alpha()
x=y=100
Nella riga 11 intercetto la pressione del tasto del mouse tramite l'evento MOUSEBUTTONDOWN.
if event.type == pygame.MOUSEBUTTONDOWN:
Se l'evento si verifica, nella riga 12 rilevo le coordinate x e y del puntatore del mouse tramite la funzione mouse.get_pos()
x, y = pygame.mouse.get_pos()
Nelle righe 12 e 13 normalizzo le coordinate (x,y) per centrare l'immagine.
x -= immagine.get_width() / 2
y -= immagine.get_height() / 2
Nella riga 15 cancello lo schermo e nella riga 16 visualizzo l'immagine alle ultime coordinate (x,y) rilevate con la pressione del tasto del mouse.
screen.fill((0, 0, 0))
screen.blit(immagine, (x, y))
In questo modo l'immagine viene visualizzata e si sposta nel punto in cui clicco con il mouse.
E' un semplice esempio di utilizzo della funzione mouse.get_pos().
E così via