Menu
CoddyTech

Cargar una imagen

Parte de la sección Sprites e imágenes del Journey de Pygame de Coddy. Lección 1 de 36.

Los juegos dibujan imágenes, no solo formas. Una imagen proviene de un archivo de imagen, y pygame convierte el archivo en una Surface, el mismo tipo de elemento que la ventana: una cuadrícula de píxeles sobre la que puedes dibujar.

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

La ruta es relativa a main.py: el juego tiene una carpeta assets a su lado, y la pestaña Assets junto al juego muestra todos los archivos que contiene.

convert_alpha() copia la imagen al formato de píxeles propio de la ventana, para que dibujarla en cada fotograma sea rápido y conserve sus píxeles transparentes. Necesita la ventana, así que carga las imágenes después de set_mode. Carga cada imagen una sola vez, antes del bucle: leer un archivo 60 veces por segundo ralentiza el juego.

Para dibujar la imagen, haz blit sobre la ventana. La posición indica dónde va su esquina superior izquierda:

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

Haz blit después de screen.fill(...), o el relleno la cubrirá.

challenge icon

Desafío

Fácil
  1. Después de set_mode, carga assets/images/ship.png con .convert_alpha() en una variable llamada ship.
  2. En el bucle, después del relleno, dibuja ship con la esquina superior izquierda en (288, 208). La nave mide 64 por 64 píxeles, así que queda en el centro de la ventana de 640 por 480.

Pruébalo tú mismo

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 las lecciones de Sprites e imágenes

Practica por tu cuenta: Playground de Pygame