In questo tutorial imparerai come visualizzare e aggiornare i punteggi dei giochi in Pygame, una popolare libreria Python per lo sviluppo di giochi. Alla fine, sarai in grado di creare un semplice gioco di jumper e visualizzare il punteggio del giocatore sullo schermo man mano che avanza. Il gioco tiene traccia dell'input da tastiera in modo da poter spostare il giocatore a sinistra ea destra usando i tasti freccia.
Creazione di un gioco semplice
Prima di poter visualizzare e aggiornare i punteggi in Pygame, devi prima creare un gioco con cui lavorare. In questo tutorial, creerai un semplice gioco in cui un giocatore può spostarsi a sinistra oa destra. Ma prima, avresti dovuto pip installato sul tuo dispositivo. Dopo aver installato pip, esegui il comando seguente per installare il modulo pygame:
pippo installare pygame
Per iniziare, importa i moduli necessari e imposta la struttura di base del gioco:
importare pygame, sistema
pygame.init()# Imposta la finestra
schermo = pygame.display.set_mode((750, 450))# Imposta il cronometro di gara
orologio = pygame.time. Orologio()# Imposta il personaggio del giocatore
giocatore = pygame. Rett(100, 200, 50, 50)# Prepara l'ostacolo
ostacolo = pygame. Rett(200, 200, 50, 50)# Imposta il ciclo di gioco
MentreVERO:
# Gestisci gli eventi
per evento In pygame.event.get():
Se event.type == pygame. ESENTATO:
pygame.quit()
sys.exit()Se event.type == pygame. TASTO GIÙ:
Se event.key == pygame. K_SINISTRA:
giocatore.x -= 10
elif event.key == pygame. K_DESTRA:
giocatore.x += 10
# Aggiorna lo stato del gioco
# Disegna il gioco
schermo.riempimento((0, 0, 0))
pygame.draw.rect (schermo, (255, 0, 0), giocatore)
pygame.draw.rect (schermo, (0, 255, 0), ostacolo)
# Aggiorna il display
pygame.display.flip()
# Limita la frequenza dei fotogrammi
clock.tick(60)
Con questo codice scheletro il tuo gioco di base è giocabile. Premi sinistra o destra per muovere il personaggio del giocatore, rappresentato dal quadrato rosso.
Visualizzazione e aggiornamento del punteggio di gioco
Ora che hai impostato un gioco di base, aggiungi un sistema di punteggio e visualizza il punteggio sullo schermo.
Impostazione di Pygame per il rendering del testo
Per visualizzare il testo in Pygame, dobbiamo prima importare i moduli necessari e inizializzare il modulo font. Per fare ciò, usa il seguente codice all'inizio del tuo script:
importare pygame
importare sys
importare os
pygame.init()
pygame.font.init()
Il modulo pygame.font ti consente di utilizzare le capacità di rendering del testo di Pygame e la funzione pygame.init() inizializza il modulo font.
Creazione di un sistema di punteggio di base
Quindi, crea un sistema di punteggio di base per il tuo gioco. Per farlo, dichiara e inizializza due variabili: score e score_increment. La variabile score terrà traccia del punteggio corrente del giocatore e la variabile score_increment specificherà quanto il punteggio dovrebbe aumentare ogni volta che il giocatore tocca un ostacolo.
Aggiungi il seguente codice all'inizio del tuo script, sotto le importazioni:
punteggio = 0
punteggio_incremento = 10
Successivamente, aggiorna il punteggio man mano che il gioco procede. Nel ciclo di gioco, puoi controllare se il personaggio del giocatore sta entrando in collisione con l'ostacolo. In caso affermativo, incrementare il punteggio dell'importo specificato nella variabile score_increment.
Aggiorna il ciclo di gioco per includere il seguente codice:
# Aggiorna lo stato del gioco
Se player.colliderect (ostacolo):
punteggio += punteggio_incremento
Questo codice controlla se il personaggio del giocatore sta entrando in collisione con l'ostacolo. Se lo sono, incrementa il punteggio dell'importo specificato.
Visualizzazione della partitura sullo schermo con il modulo Font
Ora che abbiamo un sistema di punteggio di base, visualizziamo il punteggio sullo schermo usando il modulo font.
Innanzitutto, impostiamo l'oggetto font aggiungendo il seguente codice all'inizio del ciclo di gioco:
# Imposta l'oggetto font
carattere = pygame.font. Font(Nessuno, 36)
Questo codice crea un oggetto font con una dimensione di 36 pixel e nessuna famiglia di font specificata. È possibile personalizzare il carattere e la dimensione del carattere specificando un file e una dimensione del carattere diversi nella funzione Font().
Successivamente, disegniamo la partitura sullo schermo. Aggiungi il seguente codice al ciclo di gioco, dopo aver aggiornato lo stato del gioco e aver riempito lo schermo:
# Disegna la partitura sullo schermo
score_text = font.render(f'Punteggio: {punto}', VERO, (255, 255, 255))
screen.blit (score_text, (10, 10))
Questo codice usa il metodo render() dell'oggetto font per creare una superficie di testo contenente lo spartito, e quindi blit (disegna) la superficie del testo sullo schermo nella posizione (10, 10).
Personalizzare l'aspetto del testo della partitura
Infine, personalizza l'aspetto del testo della partitura scegliendo un carattere e una dimensione del carattere e modificando il colore del testo.
Per scegliere un carattere e una dimensione del carattere specifici, passare il file e la dimensione del carattere come argomenti alla funzione Font():
carattere = pygame.font. Font('arial.ttf', 48)
Puoi facilmente scaricare diversi file di font da Internet. Dopo il download, posiziona semplicemente il file del carattere nella radice della tua directory di lavoro.
Per cambiare il colore del testo, passa una tupla di colori come terzo argomento al metodo render():
score_text = font.render(f'Punteggio: {punto}', VERO, (0, 255, 0))
E questo è tutto! Con queste modifiche, ora dovresti avere un sistema di punteggio di gioco completamente funzionante che mostra il punteggio sullo schermo e lo aggiorna man mano che il giocatore avanza nel gioco. È possibile personalizzare ulteriormente l'aspetto del testo della partitura sperimentando diverse famiglie di caratteri, dimensioni e colori.
Monitoraggio del punteggio nel gioco
Di seguito è riportato il codice funzionante completo, puoi anche trovare il codice su questo Git Hub repository.
importare pygame
importare ospygame.init()
pygame.font.init()punteggio = 0
punteggio_incremento = 10# Imposta la finestra
schermo = pygame.display.set_mode((750, 450))# Imposta il cronometro di gara
orologio = pygame.time. Orologio()# Imposta il personaggio del giocatore
giocatore = pygame. Rett(100, 200, 50, 50)# Prepara l'ostacolo
ostacolo = pygame. Rett(200, 200, 50, 50)# Imposta il ciclo di gioco
MentreVERO:
carattere = pygame.font. Font(Nessuno, 36)
# Gestisci gli eventi
per evento In pygame.event.get():
Se event.type == pygame. ESENTATO:
pygame.quit()
sys.exit()
Se event.type == pygame. TASTO GIÙ:
Se event.key == pygame. K_SINISTRA:
giocatore.x -= 10
elif event.key == pygame. K_DESTRA:
giocatore.x += 10
# Aggiorna lo stato del gioco
Se player.colliderect (ostacolo):
punteggio += punteggio_incremento
# Disegna il gioco
schermo.riempimento((0, 0, 0))
pygame.draw.rect (schermo, (255, 0, 0), giocatore)
pygame.draw.rect (schermo, (0, 255, 0), ostacolo)
# Disegna la partitura sullo schermo
score_text = font.render(f'Punteggio: {punto}', VERO, (255, 255, 255))
screen.blit (score_text, (10, 10))
# Aggiorna il display
pygame.display.flip()
# Limita la frequenza dei fotogrammi
clock.tick(60)
Questo codice crea una finestra con una dimensione di 750x450 pixel, un personaggio del giocatore e un ostacolo. Utilizza un ciclo di gioco per gestire gli eventi, aggiornare lo stato e disegnare il gioco sullo schermo. Include anche un sistema di punteggio che incrementa il punteggio di dieci punti ogni volta che il personaggio del giocatore si scontra con l'ostacolo e un oggetto font e un codice di rendering del testo per visualizzare il punteggio sullo schermo.
Nella sezione di gestione degli eventi, il codice include anche la funzionalità per spostare il personaggio del giocatore a sinistra ea destra usando i tasti freccia.
Il ciclo di gioco include il codice per aggiornare il display e limitare la frequenza dei fotogrammi a 60 FPS, assicurando che il gioco funzioni senza intoppi.
Nel complesso, questo codice fornisce un esempio di base di come visualizzare e aggiornare i punteggi dei giochi in Pygame e può essere ulteriormente personalizzato e ampliato per creare giochi più complessi e coinvolgenti.
Crea diversi giochi usando Pygame
Pygame è una libreria potente e facile da usare per creare giochi in Python. Con il suo ricco set di funzionalità e capacità, puoi creare una vasta gamma di giochi, da semplici jumper e platform a giochi più complessi e coinvolgenti.
Che tu sia un principiante o uno sviluppatore di giochi esperto, Pygame è una scelta eccellente per creare giochi coinvolgenti e divertenti.