Menu
CoddyTech

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.

challenge icon

Sfida

Medio

Fai 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

Esercitati da solo: Playground Pygame