Pygame이란?

Checkyboy_(:·2024년 12월 22일

pygame

목록 보기
1/1



개요

우선 파이썬이 게임 개발에 적합한 언어는 아니다. 문법이 다른 언어에 비해 진짜 쉽지만 그만큼 정보 처리 속도가 다른 언어보다 확연히 느리다. 그래서 파이썬으로 모든 걸 할 수 없는 것이다. 아니면 다른 언어 배울 필요가 없음

(Python vs C++ Speed Comparison) - > https://www.youtube.com/watch?v=VioxsWYzoJk 10억까지 파이썬하고 C++로 셌는데 C++이 2.4초 걸렸는데 반해 파이썬은 1분 52초가 걸렸다고 한다. 이걸 생각하고 게임 개발을 한다면 파이썬으로 느린 게임 만들고 렉 걸려서 샷건 칠바엔
좀 어러운 C++ 배워서 50배 빠른 게임 만드는게 맞다.

하지만 파이썬은 C에 비해 비교할 수 없을 정도로 쉽고 새로운 언어를 배우는 것 보다 기존의 아는 언어를 활용하고 싶었다. 그 중에서도 tkinter같은 다른 파이썬 엔진들이 있지만 더 게임 개발에 최적화된 pygame을 선택하게 되었다.

(pygame 공식 사이트) -> https://pygame.org/docs/

pygame 라이브러리 설치

파이썬이 설치된 상태에서 cmd 명령어 창에 pip install pygame 입력하고 .py 파일에서

import pygame 

코드 작성 후 사용하면 된다. 만약 잘 설치되어 있는지 확인하고 싶다면 커맨드 창에pip show pygame를 입력하면 된다.

pygame 창 띄우기

pygame으로 게임을 만들때 기본적인 코드는 다음과 같다.

# pygame 패키지 불러오기
import pygame

# 창 생성
screen = pygame.display.set_mode((800, 600))
# 무한 반복문
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            # pygame 라이브러리 종료
            pygame.quit()

실행 결과

이렇게 검은색의 800X600 크기의 창이 생성되었다. 띄운 창은 while문 무한 루프로 작동되고 for문에서 pygame.event.get()에 있는 event의 type이 pygame.QUIT일때 pygame.quit()라는 함수가 실행되어 pygame 라이브러리를 꺼지게 한다.

하지만 위에 코드를 실행시키면
pygame.display.update() pygame.error: video system not initialized
라는 자잘한 오류가 cmd창에 뜬다. 오류를 없애려면 아래 코드를 추가하자.

기본 코드

# pygame 패키지 불러오기, pygame에 pg라는 별명 붙여주기 (pg = pygame)
import pygame as pg


# pygame 초기화
pg.init()

# 창 생성
screen = pg.display.set_mode((800, 600))
running = True
while running:
    for event in pg.event.get():
        if event.type == pg.QUIT:
            running = False
    pg.display.update()
pg.quit()
  • 처음에pg.init()으로 pygame을 초기화

  • 게임 온오프를 제어하는running을 생성하고 pygame에서 이벤트를 확인하는 pg.event.get() 에서 pg.QUIT이 있을때 while문을 종료

  • pg.quit()을 게임 종료.

  • pygame을 pg로 정의하는 건필수는 아니지만 pygame 여섯 글자보단 pg 두 글자가 더 짧으니까:)

이렇게 pygame에 기본적인 내용에 대해 적어 보았다. 나중에 구체적인 사용법에 대한 글을 더 적어볼 생각이다.

profile
print("Hello, world")

0개의 댓글