Menu
CoddyTech

Caricare un'immagine

Fa parte della sezione Sprite e immagini del percorso Pygame di Coddy. Lezione 1 di 36.

I giochi disegnano immagini, non solo forme. Un'immagine proviene da un file immagine e pygame trasforma il file in una Surface, lo stesso tipo di elemento della finestra: una griglia di pixel su cui puoi disegnare.

ship = pygame.image.load("assets/images/ship.png").convert_alpha()

Il percorso è relativo a main.py: il gioco ha una cartella assets accanto a esso e la scheda Assets accanto al gioco elenca tutti i file al suo interno.

convert_alpha() copia l'immagine nel formato pixel della finestra, così disegnarla a ogni fotogramma è veloce e i pixel trasparenti restano tali. Ha bisogno della finestra, quindi carica le immagini dopo set_mode. Carica ogni immagine una sola volta, prima del ciclo: leggere un file 60 volte al secondo rallenta il gioco.

Per disegnare l'immagine, esegui il blit sulla finestra. La posizione indica dove va l'angolo in alto a sinistra:

screen.blit(ship, (288, 208))

Esegui il blit dopo screen.fill(...), altrimenti il riempimento la copre.

challenge icon

Sfida

Facile
  1. Dopo set_mode, carica assets/images/ship.png con .convert_alpha() in una variabile chiamata ship.
  2. Nel ciclo, dopo il riempimento, disegna ship con l’angolo superiore sinistro in (288, 208). La nave misura 64 per 64 pixel, quindi si trova al centro della finestra di 640 per 480.

Provalo tu

import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Space Images")
clock = pygame.time.Clock()

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    screen.fill((20, 22, 40))
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Tutte le lezioni di Sprite e immagini

Esercitati da solo: Playground Pygame