[python] Pygame으로 슈팅 스크롤링 게임 개발하기

이번 포스트에서는 Pygame을 사용하여 슈팅 스크롤링 게임을 개발하는 방법에 대해 알아보겠습니다. 슈팅 스크롤링 게임은 플레이어가 적들을 격파하면서 스크롤링되는 배경 속에서 진행되는 게임으로, 많은 게임에서 인기를 얻고 있습니다.

Pygame 설치하기

먼저, Pygame을 설치해야 합니다. 아래 명령을 사용하여 Pygame을 설치합니다.

pip install pygame

게임 초기 설정하기

다음으로는 게임을 초기 설정하는 부분입니다. Pygame 라이브러리를 import하고 필요한 변수들을 초기화합니다. 다음 코드를 사용해주세요.

import pygame
from pygame.locals import *

pygame.init()

# 게임 윈도우 크기 설정
WINDOW_WIDTH = 800
WINDOW_HEIGHT = 600
window_surface = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
pygame.display.set_caption("슈팅 스크롤링 게임")

# 게임 색상 설정
BLACK = pygame.Color(0, 0, 0)
WHITE = pygame.Color(255, 255, 255)

# 게임 속도 설정
FPS = 60
clock = pygame.time.Clock()

플레이어 클래스 만들기

플레이어 클래스를 만들어서 플레이어의 동작을 구현해보겠습니다. 다음 코드를 사용해주세요.

class Player(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()

        # 플레이어 이미지 로드
        self.image = pygame.image.load("player.png")
        self.rect = self.image.get_rect()
        self.rect.center = (WINDOW_WIDTH // 2, WINDOW_HEIGHT // 2)

        # 플레이어 이동 속도 설정
        self.speed = 5

    def update(self):
        # 키 입력 처리
        key_state = pygame.key.get_pressed()
        
        if key_state[K_LEFT]:
            self.rect.x -= self.speed
        if key_state[K_RIGHT]:
            self.rect.x += self.speed
        if key_state[K_UP]:
            self.rect.y -= self.speed
        if key_state[K_DOWN]:
            self.rect.y += self.speed

    def draw(self):
        window_surface.blit(self.image, self.rect)

메인 루프 설정하기

이제 메인 루프에서 게임 동작을 처리해보겠습니다. 다음 코드를 사용해주세요.

player = Player()
all_sprites = pygame.sprite.Group()
all_sprites.add(player)

running = True
while running:
    clock.tick(FPS)

    for event in pygame.event.get():
        if event.type == QUIT:
            running = False

    # 플레이어 업데이트 및 그리기
    player.update()
    window_surface.fill(BLACK)
    player.draw()

    pygame.display.update()

pygame.quit()

게임 실행하기

게임을 실행하려면 플레이어 이미지 파일인 “player.png”를 주어진 경로에 넣어야 합니다. 그런 다음, 위 코드를 실행하면 슈팅 스크롤링 게임이 실행됩니다.

이제 Pygame을 사용하여 슈팅 스크롤링 게임을 개발하는 방법을 알게 되었습니다. 추가적으로 게임에 적들이 랜덤으로 등장하거나 충돌 감지를 구현하는 등의 기능을 추가할 수 있습니다. Pygame은 다양한 기능을 제공하므로 참고 자료를 찾아보시면 더 다양한 게임을 개발할 수 있을 것입니다.