La funzione draw.ellipse() di pygame
La funzione draw.ellipse() mi consente di disegnare un'ellisse in python. E' una funzione del modulo pygame.
pygame.draw.ellipse(obj,col,pos&dim,fill)
Dove gli argomenti sono
- obj è il nome dell'oggetto di superficie (area) dove voglio visualizzare l'ellisse
- col è una tupla con tre elementi che definisce il colore RGB dell'ellisse
- pos&dim è una tupla con quattro elementi. I primi due elementi sono le coordinate (x,y) dell'angolo in alto a sinistra dell'ellisse. Gli altri due elementi indicano la lunghezza del semiasse orizzontale e verticale dell'ellisse.
- fill è un valore booleano per colorare l'interno dell'ellisse (0) o meno (1). Di default è zero
Un esempio pratico
In questo script traccio un'ellisse tramite la funzione draw.ellipse() alla riga 6.
- import pygame
- pygame.init()
- finestra1 = pygame.display.set_mode((400,300))
- pygame.display.set_caption('Titolo della finestra')
- RED = (255,0,0)
- pygame.draw.ellipse(FINESTRA1, RED, (200,100,50,100))
- running = True
- while running:
- for event in pygame.event.get():
- if event.type == QUIT:
- running = False
- pygame.display.update()
L'angolo in alto a sinistra dell'ellisse si trova alle coordinate (x,y)=(200,100).
E' importante ricordarsi che le coordinate non indicano il centro dell'ellisse ma l'angolo in alto a sinistra del rettangolo in cui è inscritta l'ellisse.
L'ellisse è larga 50 pixel e alta 100 pixel.
pygame.draw.ellipse(FINESTRA1, RED, (200,100,50,100))
Nella funzione ho specificato l'ultimo parametro (fill). Quindi, l'ellisse è colorata anche all'interno.
L'output dello script è il seguente

Per completezza aggiungo alla funzione anche l'ultimo parametro impostandolo a uno (fill=1).
pygame.draw.ellipse(FINESTRA1, RED, (200,100,50,100),1)
Dopo questa modifica l'ellisse è visualizzata nella stessa posizione, ha le stesse dimensioni ma l'area interna non è colorata.

E così via.
