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.

    1. import pygame
    2. pygame.init()
    3. screen = pygame.display.set_mode((400,300))
    4. immagine = pygame.image.load('smile.png').convert_alpha()
    5. x=y=100
    6. running = True
    7. while running:
    8. for event in pygame.event.get():
    9. if event.type == pygame.QUIT:
    10. running=False
    11. if event.type == pygame.MOUSEBUTTONDOWN:
    12. x, y = pygame.mouse.get_pos()
    13. x -= immagine.get_width() / 2
    14. y -= immagine.get_height() / 2
    15. screen.fill((0, 0, 0))
    16. screen.blit(immagine, (x, y))
    17. 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.

    l'esecuzione dello script (output)

    E' un semplice esempio di utilizzo della funzione mouse.get_pos().

    E così via

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    PyGame