Menu
CoddyTech

Carregue uma imagem

Parte da seção Sprites e imagens do Journey de Pygame da Coddy. Lição 1 de 36.

Os jogos exibem imagens, não apenas formas. Uma imagem vem de um arquivo de imagem, e o pygame transforma o arquivo em uma Surface, o mesmo tipo de coisa que a janela: uma grade de pixels na qual você pode desenhar.

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

O caminho é relativo a main.py: o jogo tem uma pasta assets ao lado dele, e a aba Assets ao lado do jogo lista todos os arquivos nela.

convert_alpha() copia a imagem para o formato de pixel da própria janela, então desenhá-la a cada quadro é rápido e mantém os pixels transparentes. Esse método precisa da janela, então carregue as imagens depois de set_mode. Carregue cada imagem uma vez, antes do loop: ler um arquivo 60 vezes por segundo deixa o jogo lento.

Para desenhar a imagem, faça blit dela na janela. A posição indica onde fica o canto superior esquerdo:

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

Faça o blit depois de screen.fill(...), ou o preenchimento a cobrirá.

challenge icon

Desafio

Fácil
  1. Depois de set_mode, carregue assets/images/ship.png com .convert_alpha() em uma variável chamada ship.
  2. No loop, depois do preenchimento, desenhe ship com o canto superior esquerdo em (288, 208). A nave tem 64 por 64 pixels, então fica no meio da janela de 640 por 480.

Experimente você mesmo

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()

Todas as lições de Sprites e imagens

Pratique por conta própria: Playground de Pygame