I lettori come te aiutano a sostenere MUO. Quando effettui un acquisto utilizzando i link sul nostro sito, potremmo guadagnare una commissione di affiliazione. Per saperne di più.

PyGame è una libreria di sviluppo di giochi potente e popolare per Python. Fornisce una serie di strumenti e funzioni che semplificano la creazione di giochi e altre applicazioni interattive. Una caratteristica utile di PyGame è la sua capacità di disegnare oggetti e forme.

Il modulo pygame.draw

In PyGame, disegnare oggetti e forme è un processo semplice. Puoi usare il pygame.draw modulo per disegnare forme come rettangoli, cerchi, linee e altro.

Prima di iniziare, assicurati di averlo pip installato sul tuo dispositivo, quindi utilizzare questo comando per installare il file PyGame modulo:

pip installa pygame

Disegnare forme base

IL pygame.draw Il modulo fornisce diverse funzioni che consentono di disegnare forme di base. Ogni funzione accetta un set di parametri per definire la forma e la sua posizione.

  • rect(): Puoi disegnare un rettangolo usando questa funzione. Questa è una delle forme più comunemente usate nei giochi. Puoi creare piattaforme, pareti e altri oggetti con rettangoli. La funzione accetta quattro parametri: surface (la superficie su cui disegnare il rettangolo), color, rect (un oggetto Rect) e width (spessore della linea).
    instagram viewer
    pygame.draw.rect (superficie, colore, rect, larghezza)
  • cerchio(): Disegna un cerchio. Richiede quattro parametri: superficie, colore, pos (il centro del cerchio) e raggio.
    pygame.draw.circle (superficie, colore, posizione, raggio)
  • poligono(): Disegna un poligono. Richiede quattro parametri: superficie, colore, punti (un elenco di punti che definiscono la forma del poligono) e larghezza.
    pygame.draw.polygon (superficie, colore, punti, larghezza) 
  • linea(): Disegna una linea. Richiede quattro parametri: superficie, colore, start_pos e end_pos.
    pygame.draw.line (superficie, colore, start_pos, end_pos) 

Puoi trovare l'elenco completo delle funzioni e dei loro parametri sul funzionario Documentazione PyGame per il modulo draw.

Disegnare forme complesse

Oltre alle forme di base, PyGame ti consente anche di disegnare forme complesse come archi, ellissi e aalines.

  • arco(): Questa funzione disegna un arco su una superficie. Un arco è una porzione di un cerchio. Prende sei parametri: superficie, colore, rect, start_angle, end_angle e width. Specificare gli angoli in gradi, con 0 gradi che puntano a destra e aumentano in senso orario. Il parametro width specifica lo spessore dell'arco.
    pygame.draw.arc (superficie, colore, rettangolo, angolo_inizio, angolo_fine, larghezza)
  • ellisse(): Disegna un'ellisse su una superficie. Un'ellisse è un cerchio allungato. Richiede quattro parametri: superficie, colore, rettangolo e larghezza.
    pygame.draw.ellipse (superficie, colore, rettangolo, larghezza)
  • aline(): utilizzare per disegnare una singola linea anti-alias su una superficie. L'anti-aliasing è una tecnica utilizzata per smussare i bordi di una forma, in modo che appaia più naturale. Ci vogliono quattro parametri che rispecchiano il file linea() funzione: superficie, colore, start_pos e end_pos.
    pygame.draw.aaline (superficie, colore, start_pos, end_pos) 

Creazione di forme nidificate in PyGame

Un'altra caratteristica interessante di PyGame è la capacità di disegnare forme all'interno di un'altra forma. Puoi farlo utilizzando una combinazione delle funzioni base di disegno di forme in PyGame.

Per disegnare una forma all'interno di un'altra forma, puoi prima disegnare la forma interna, quindi disegnare la forma esterna sopra di essa. La forma interna può essere qualsiasi forma base, ad esempio un rettangolo o un cerchio.

Ad esempio, per disegnare un rettangolo all'interno di un cerchio, puoi utilizzare il pygame.draw.circle() funzione per disegnare il cerchio, quindi utilizzare la funzione pygame.draw.rect() funzione per disegnare il rettangolo sopra di esso.

È possibile trovare i seguenti esempi di codice in questo repository GitHub.

Ecco un frammento di codice di esempio che mostra come disegnare un rettangolo all'interno di un cerchio:

importare pygame

# Inizializza pygame
pygame.init()

# Crea una finestra
finestra = pygame.display.set_mode((800, 600))

# Crea un cerchio
circle_rect = pygame.draw.circle (finestra, (255, 255, 255), (400, 300), 100)

# Crea una superficie per il rettangolo
rettangolo_superficie = pygame. Superficie((50, 50))
rettangolo_superficie.set_colorkey((0, 0, 0))

# Disegna il rettangolo sulla superficie
pygame.draw.rect (superficie_rettangolo, (255, 0, 0), (0, 0, 50, 50))

# Blit la superficie sul cerchio
window.blit (superficie_rettangolo, (375, 275))

# Ciclo principale
MentreVERO:
# Uscire dal gioco
per evento In pygame.event.get():
Se event.type == pygame. ESENTATO:
pygame.quit()
Uscita()

# Aggiorna il display
pygame.display.update()

Questo crea l'effetto di un rettangolo all'interno di un cerchio. Puoi utilizzare questa tecnica per creare forme più complesse ed elementi di gioco combinando più forme.

Immagini di disegno

PyGame ti consente anche di disegnare immagini. Puoi usare il pygame.image.load() funzione per caricare un'immagine da un file e il pygame.image.blit() funzione a disegnare l'immagine sullo schermo.

La sintassi per pygame.image.load() Somiglia a questo:

pygame.image.load (nome file) 

Ed ecco la sintassi per pygame.image.blit():

pygame.image.blit (immagine, rect) 

Oltre a caricare e disegnare immagini, PyGame fornisce anche molte altre funzioni relative alle immagini. Queste funzioni consentono di manipolare le immagini in vari modi, come il ridimensionamento, la rotazione, il capovolgimento e il ritaglio.

Aggiunta di funzionalità avanzate

PyGame fornisce anche alcune funzionalità avanzate per disegnare oggetti e forme. Ad esempio, puoi utilizzare il pygame.mouse.get_pos() funzione per ottenere la posizione del mouse e il pygame.mouse.get_pressed() funzione per ottenere lo stato del pulsante del mouse. Con queste funzioni, puoi creare una funzionalità di disegno che ti consente di disegnare forme facendo clic con il mouse.

importare pygame 

# Inizializza pygame
pygame.init()

# Crea una finestra
finestra = pygame.display.set_mode((800, 600))

# Ciclo principale
MentreVERO:
# Ottieni la posizione del mouse
mouse_position = pygame.mouse.get_pos()

# Ottieni lo stato del pulsante del mouse
mouse_pressed = pygame.mouse.get_pressed()

# Uscire dal gioco
per evento In pygame.event.get():
Se event.type == pygame. ESENTATO:
pygame.quit()
Uscita()

# Disegnare un cerchio quando si preme il mouse
Se mouse_premuto[0] == 1:
pygame.draw.circle (finestra, (255, 0, 0), posizione_mouse, 20)

# Aggiorna il display
pygame.display.update()

Di seguito è riportato l'output:

Crea facilmente sprite di gioco in PyGame

PyGame fornisce anche un potente set di strumenti per creare facilmente sprite e oggetti di gioco. Con il pygame.draw modulo, puoi facilmente creare sprite che puoi usare nei tuoi giochi. Puoi creare facilmente personaggi, oggetti e altri elementi di gioco.