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.
Sfida
Facile- Dopo
set_mode, caricaassets/images/ship.pngcon.convert_alpha()in una variabile chiamataship. - Nel ciclo, dopo il riempimento, disegna
shipcon 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
1Caricare immagini
Caricare un'immaginePosizionarla con un rettangoloSpostare l'immagineRipetere uno sfondoPixel trasparenti2Ruota, capovolgi, ridimensiona
Ruotare attorno al centroRivolgiti nella direzione in cui voliRidimensionare un'immagineRuotare dall'originale3Classi per gli oggetti del gioco
La tua prima classeMetodiSelf è l’oggettoUna lista di oggettiOggetti con immaginiUna sottoclasse6Animazione con gli sprite sheet
Ritagliare uno sprite sheetUn contatore di frameAnimare con il tempoUn’esplosione a riproduzione singolaEsercitati da solo: Playground Pygame