La funzione Font() di pygame

La funzione Font() di pygame mi permette di creare un oggetto font tramite il quale posso stampare un carattere o una stringa di testo sulla superficie grafica di python.

font.Font(tipo, dim)

Gli argomenti sono

  • tipo = il nome del file con estensione ttf del font di caratteri che voglio usare (es. arial, times new roman, ecc)
  • dim = la grandezza del carattere del testo (es. 16)

Una volta creato l'oggetto di tipo font, posso usarlo per renderizzare un testo tramite il metodo render() dell'oggetto font.

Poi visualizzarlo tramite il metodo blit della superficie grafica.

Nota. La funzione Font() appartiene al modulo pygame.font.

    Un esempio pratico

    In questo script stampo la scritta "Hello World" al centro della superficie grafica.

    1. import pygame
    2. pygame.init()
    3. screen = pygame.display.set_mode((400,300))
    4. RED = (255,0,0)
    5. stile=pygame.font.Font('freesansbold.ttf',16)
    6. testo=stile.render("Hello World", True, RED)
    7. running = True
    8. while running:
    9. screen.fill((255, 255, 255))
    10. for event in pygame.event.get():
    11. if event.type == pygame.QUIT:
    12. running=False
    13. screen.blit(testo, (150,100))
    14. pygame.display.update()

    Nella riga 5 definisco l'oggetto "stile" di tipo font tramite la funzione Font() assegnandogli il font "freesansbold.ttf" e 16 come grandezza del carattere.

    stile=pygame.font.Font('freesansbold.ttf',16)

    Nella riga 6 chiamo il metodo render dell'oggetto stile per renderizzate la stringa "Hello World" e assegnarla alla variabile "testo".

    Gli altri parametri passati al metodo render sono l'antialiasing (True) e il colore (RED) da applicare al testo.

    Dove RED è una variabile con una tupla RGB (255,0,0) che ho definito in precedenza alla riga 4.

    testo=stile.render("Hello World", True, RED)

    Infine, alla riga 13 stampo la variabile testo sulla superficie grafica tramite il metodo blit() alle coordinate (150,100).

    screen.blit(testo, (150,100))

    Il risultato in output è

    il risultato in output

    Lo script ha trasformato la stringa in un oggetto grafico e l'ha visualizzata alle coordinate e con il colore (rosso) che gli ho indicato.

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    PyGame