이미지 불러오기
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하세요. 그렇지 않으면 채우기가 그림을 덮어씁니다.
챌린지
쉬움set_mode뒤에assets/images/ship.png을.convert_alpha()로 불러와ship이라는 변수에 저장합니다.- 루프에서 화면을 채운 다음,
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 플레이그라운드