Pygame

최근 수정 시각: (5년 전)
|공식 사이트. 공식 문서와 커뮤니티 등의 기능을 한다.
목차
1. 개요2. 주요 모듈
2.1. pygame2.2. sprite
3. 예제4. 여담

1. 개요 [편집]

Python으로 작성 가능한 게임 등의 멀티미디어 표현을 위한 라이브러리이다. SDL 기반이다. 오픈 소스이자 무료 도구이며, Python을 돌릴 수 있는 플랫폼이라면 어디서든 실행할 수 있다. 게임 개발 도구이지만 이미지 프로세스 또는 조이스틱 입력, 음악 재생 등의 기능만 떼어다 쓸 수도 있다.

상징은 게임패드를 물고 있는 노란색 뱀이다.

비주얼 노벨 툴인 Ren'Py 또한 Pygame에 기반하고 있다.

2. 주요 모듈 [편집]

2.1. pygame [편집]

pygame 모듈들을 사용하기 위해서는 pygame.init(), pygame.quit() 등으로 초기화, 종료를 시켜줘야 한다.

2.2. sprite [편집]

pygame.sprite.Sprite() 클래스로 스프라이트 객체를 생성할 수 있다. sprite의 모음인 pygame.sprite.Group() 클래스로 스프라이트들을 효율적으로 관리할 수 있다.

3. 예제 [편집]

3.1. Hello, world! [편집]

import pygame # pygame 모듈의 임포트
import sys # 외장 모듈
from pygame.locals import * # QUIT 등의 pygame 상수들을 로드한다.

width = 600 # 상수 설정
height = 400
white = (255, 255, 255)
black = (  0,   0,   0)
fps = 30

pygame.init() # 초기화

pygame.display.set_caption('Hello, world!') # 창 제목 설정
displaysurf = pygame.display.set_mode((width, height), 0, 32) # 메인 디스플레이를 설정한다
clock = pygame.time.Clock() # 시간 설정

gulimfont = pygame.font.SysFont('굴림', 70) # 서체 설정
helloworld = gulimfont.render('Hello, world!', 1, black) 
# .render() 함수에 내용과 안티앨리어싱, 색을 전달하여 글자 이미지 생성
hellorect = helloworld.get_rect() # 생성한 이미지의 rect 객체를 가져온다
hellorect.center = (width / 2, height / 2) # 해당 rect의 중앙을 화면 중앙에 맞춘다

while True: # 아래의 코드를 무한 반복한다.
    for event in pygame.event.get(): # 발생한 입력 event 목록의 event마다 검사
        if event.type == QUIT: # event의 type이 QUIT에 해당할 경우
            pygame.quit() # pygame을 종료한다
            sys.exit() # 창을 닫는다
    displaysurf.fill(white) # displaysurf를 하얀색으로 채운다
    displaysurf.blit(helloworld, hellorect) # displaysurf의 hellorect의 위치에 helloworld를 뿌린다
    
    pygame.display.update() # 화면을 업데이트한다
    clock.tick(fps) # 화면 표시 회수 설정만큼 루프의 간격을 둔다

pygame 초기화, 기본 세팅과 디스플레이 상에 폰트를 렌더링하는 기초 예제이다. 결과는 아래와 같다.

파일:pygamehell.png

4. 여담 [편집]


한때, pygame 메인 화면에 아카이브 링크와 github 링크가 있고, 검정화면에 I can't breathe라고 적혀있던 적이 있었다.아카이브 링크

라이선스를 별도로 명시하지 않은 문서는 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다.
기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권을 갖습니다.

문서의 기여자는 역사 탭에서 확인할 수 있습니다.
접두어의 N: - 나무위키 사용자, R: - 리그베다 위키의 사용자를 뜻합니다.
자세한 사항은 나무위키에서 동일한 문서의 역사를 참고하시기 바랍니다.