Parole sullo schermo
Fa parte della sezione Python in una finestra di gioco del percorso Pygame di Coddy. Lezione 8 di 32.
Premi Run: la parola Comet si trova nell'angolo in alto a sinistra. Tre righe la posizionano lì:
font = pygame.font.Font(None, 36)
text = font.render("Comet", True, (230, 230, 240))
screen.blit(text, (20, 20))Il font viene creato una sola volta, nella parte di configurazione: il font integrato di pygame, di dimensione 36. render trasforma una stringa in un'immagine a colori (True ne smussa i bordi) e screen.blit posiziona quell'immagine sulla finestra, con l'angolo in alto a sinistra in (20, 20). Ogni gioco che visualizza del testo usa queste tre righe.
Per visualizzare il valore di una variabile, scrivi una f-string: una f prima della virgoletta iniziale e il nome tra parentesi graffe:
f"Comet x: {comet_x}"Quando comet_x contiene 58, questa è la stringa Comet x: 58. Senza la f, le parentesi graffe e il nome vengono visualizzati così come sono scritti.
Sfida
MedioFai in modo che l’etichetta mostri dove si trova la cometa: cambia "Comet" in f"Comet x: {comet_x}". Il numero aumenta mentre la cometa vola.
Provalo tu
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# Imposta tutto qui, prima del ciclo di gioco.
moon_x = 160
moon_y = 120
comet_x = 40
comet_y = 200
font = pygame.font.Font(None, 36)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Modifica le cose qui, una volta per fotogramma.
comet_x = comet_x + 2
screen.fill((20, 24, 48))
# Disegna qui, dopo aver riempito lo schermo.
pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)
pygame.draw.circle(screen, (120, 200, 255), (comet_x, comet_y), 8)
text = font.render("Comet", True, (230, 230, 240))
screen.blit(text, (20, 20))
pygame.display.flip()
clock.tick(60)
pygame.quit()
Tutte le lezioni di Python in una finestra di gioco
2Numeri e variabili
Dai un nome a un valoreFai i calcoliMuoviti a ogni frameParole sullo schermoNumeri interi e decimaliEsercitati da solo: Playground Pygame