Menu
CoddyTech

이미지 불러오기

Coddy Pygame 여정의 스프라이트와 이미지 섹션에 포함된 레슨. 36개 중 1번째.

게임은 도형뿐만 아니라 그림도 그립니다. 그림은 이미지 파일에서 가져오며, pygame은 파일을 창과 같은 종류의 Surface로 바꿉니다. 즉, 그릴 수 있는 픽셀 격자입니다.

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

경로는 main.py를 기준으로 합니다. 게임 폴더에는 assets 폴더가 있으며, 게임 옆의 Assets 탭에 그 안의 모든 파일이 표시됩니다.

convert_alpha()는 그림을 창에서 사용하는 픽셀 형식으로 복사하므로 매 프레임 그림을 빠르게 그릴 수 있고, 투명한 픽셀도 유지합니다. 이 작업에는 창이 필요하므로 set_mode를 호출한 다음 이미지를 불러오세요. 각 이미지는 루프가 시작되기 전에 한 번만 불러오세요. 초당 60회 파일을 읽으면 게임이 느려집니다.

그림을 그리려면 창에 blit하세요. 위치는 그림의 왼쪽 위 모서리가 놓일 곳입니다.

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

screen.fill(...)을 호출한 다음에 blit하세요. 그렇지 않으면 채우기가 그림을 덮어씁니다.

challenge icon

챌린지

쉬움
  1. set_mode 뒤에 assets/images/ship.png을 .convert_alpha()로 불러와 ship이라는 변수에 저장합니다.
  2. 루프에서 화면을 채운 다음, ship을 왼쪽 위 모서리가 (288, 208)에 오도록 블릿합니다. 우주선의 크기는 64 x 64픽셀이므로 640 x 480 창의 가운데에 놓입니다.

직접 해보기

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

스프라이트와 이미지의 모든 레슨

직접 연습해 보세요: Pygame 플레이그라운드