728x90

1. 강의 소개
이번 강의에서는 Pygame을 이용하여 전투기 슈팅 게임을 만들어 봅니다.
게임은 세로 화면을 기준으로 하며, 플레이어와 적 모두 전투기입니다.
기본 조작 방식은 다음과 같습니다.
- 이동 : W / A / S / D
- 공격 : 스페이스바
- 적 전투기 : 화면 상단에서 생성되어 아래로 이동
이번 1강에서는 게임을 만들기 위한 기본 틀과 구조를 먼저 구성합니다.
2. 세로 슈팅 게임의 기본 구조
대부분의 세로 슈팅 게임은 다음과 같은 흐름으로 동작합니다.
- 세로 화면을 가진 게임 창을 생성합니다.
- 플레이어 전투기는 화면 하단에서 시작합니다.
- 적 전투기는 화면 상단에서 생성됩니다.
- 총알은 위 방향으로 발사됩니다.
- 충돌 처리는 이후 단계에서 구현합니다.
이 구조를 이해하면 이후 기능 추가가 수월해집니다.
3. 프로젝트 폴더 구조
이번 강의에서 사용할 기본 폴더 구조입니다.
shooting_game
├─ main.py
├─ images
└─ sounds
4. Pygame 초기화 및 화면 설정
먼저 Pygame을 초기화하고 게임 화면을 생성합니다.
import pygame
import sys
pygame.init()
SCREEN_WIDTH = 480
SCREEN_HEIGHT = 640
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
pygame.display.set_caption("Shooting Game")
clock = pygame.time.Clock()
FPS = 60
세로 슈팅 게임이기 때문에 화면 높이를 더 크게 설정합니다.
5. 게임 루프 작성
게임의 모든 동작은 게임 루프 안에서 처리됩니다.
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((0, 0, 0))
pygame.display.update()
clock.tick(FPS)
pygame.quit()
sys.exit()
이 루프는 입력 처리, 화면 갱신, 프레임 유지를 담당합니다.
6. 현재 단계에서의 결과
지금 코드를 실행하면 다음과 같은 결과가 나옵니다.
- 검은색 세로 화면이 출력됩니다.
- 아직 전투기나 적은 보이지 않습니다.
- 게임의 기본 골격은 완성된 상태입니다.
7. 마무리
이번 강의에서는 다음 내용을 학습했습니다.
- 세로 슈팅 게임의 기본 구조
- Pygame 초기화 및 화면 설정
- 게임 루프와 FPS 개념
다음 강의에서는 플레이어 전투기를 화면에 생성하고 WASD로 이동시켜 보겠습니다.
전체 코드
더보기
import pygame
import sys
pygame.init()
# 화면 크기 설정 (세로형)
SCREEN_WIDTH = 480
SCREEN_HEIGHT = 640
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
pygame.display.set_caption("Shooting Game")
# FPS 설정
clock = pygame.time.Clock()
FPS = 60
# 게임 루프
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 화면 채우기
screen.fill((0, 0, 0))
# 화면 업데이트
pygame.display.update()
clock.tick(FPS)
pygame.quit()
sys.exit()
728x90
'⚙️ Python > 🎮 Pygame 실전' 카테고리의 다른 글
| [Pygame] ✈️ 전투기 슈팅 게임 만들기 3강 | 스페이스바로 총알 발사하기 (0) | 2026.01.13 |
|---|---|
| [Pygame] ✈️ 전투기 슈팅 게임 만들기 2강 | 플레이어 전투기 생성과 WASD 이동 구현 (0) | 2026.01.12 |
| [Pygame] 🐍 스네이크 게임 만들기 9강 | 게임 오버 화면 + R키로 재시작 (0) | 2026.01.09 |
| [Pygame] 🐍 스네이크 게임 만들기 8강 | 자기 몸 충돌 처리하기 (0) | 2026.01.08 |
| [Pygame] 🐍 스네이크 게임 만들기 7강 | 뱀 몸 만들기 + 먹으면 길어지기 (0) | 2026.01.07 |