La funzione Rect() di pygame

La funzione Rect() di pygame crea un oggetto di tipo rettangolo in uno script python.

pygame.Rect(x,y,width,height)

L'argomento della funzione è una tupla con quattro elementi che indicano

  • x = le coordinate x dell'angolo in alto a sinistra del rettangolo
  • y = le coordinate y dell'angolo in alto a sinistra del rettangolo
  • width = la larghezza del rettangolo in pixel
  • height = l'altezza del rettangolo in pixel

A cosa serve? L'oggetto Rect() posso sostituirlo a una tupla numerica nella funzione draw.rect() per disegnare delle figure geometriche rettangolari. Ha però dei vantaggi in quanto è un oggetto. Quindi posso usarlo nella programmazione a oggetti usando le proprietà e i metodi dell'oggetto.

L'oggetto rettangolo posso salvarlo in una variabile che eredita automaticamente tutte le proprietà del rettangolo.

>>> var = pygame.Rect(10,20,100,200)

La funzione rect() crea un tipo di dato Rect.

Di fatto è una tupla composta da 4 elementi.

>>> var == (10,20,100,200)
True

Un esempio pratico

In questo script creo un oggetto di tipo Rect alla riga 5 con la funzione pygame.Rect().

  1. import pygame
  2. pygame.init()
  3. finestra1 = pygame.display.set_mode((400,300))
  4. RED = (255,0,0)
  5. rettangolo=pygame.Rect(10,20,100,200)
  6. pygame.draw.rect(finestra1, RED, rettangolo,0)
  7. while True:
  8. for event in pygame.event.get():
  9. if event.type == pygame.QUIT:
  10. pygame.quit()
  11. sys.exit()
  12. pygame.display.update()

Alla riga 6 uso la funzione draw.rect() per visualizzare il rettangolo sull'oggetto di superficie del gioco.

Il risultato in output è il seguente

l'output dello script

Python stampa sullo schermo un rettangolo di colore rosso alle coordinate e con le dimensioni che ho indicato.

Le proprietà dell'oggetto Rect

Uno dei vantaggi a disegnare un rettangolo con la funzione Rect() è l'accesso alle caratteristiche del rettangolo tramite le proprietà dell'oggetto Rect().

Ad esempio, creo un oggetto di tipo rettangolo.

>>> var = pygame.Rect(10,20,100,200)

Successivamente posso leggere la larghezza del rettangolo tramite la proprietà width.

>>> MyRect.width
100

E ovviamente posso anche modificare il valore della proprietà width dell'oggetto.

>>> MyRect.width = 50

Oltre alla proprietà width un oggetto di tipo Rect ha molte altre proprietà predefinite

Ecco l'elenco completo

  • left
    il valore x delle coordinate dell'angolo a sinistra del rettangolo.
  • right
    il valore x delle coordinate dell'angolo a destra del rettangolo.
  • top
    il valore y al lato superiore
  • bottom
    il valore y al lato inferiore
  • centerx
    il valore x al centro del rettangolo
  • centery
    il valore y al centro del rettangolo
  • width
    la larghezza del rettangolo
  • height
    l'altezza del rettangolo
  • size
    una tupla con larghezza e altezza del rettangolo
  • topleft
    una tupla con le coordinate del punto in alto a sinistra
  • topright
    una tupla con le coordinate del punto in alto a destra
  • bottomleft
    una tupla con le coordinate del punto in basso a sinistra
  • bottomright
    una tupla con le coordinate del punto in basso a destra
  • midleft
    una tupla con le coordinate del punto al centro sul lato a destra
  • midright
    una tupla con le coordinate del punto al centro sul lato a sinistra
  • midleft
    una tupla con le coordinate del punto al centro sul lato a destra
  • midtop
    una tupla con le coordinate del punto al centro sul lato superiore
  • midbottom
    una tupla con le coordinate del punto al centro sul lato inferiore

E così via.

 


 

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

FacebookTwitterLinkedinLinkedin
knowledge base

PyGame