다음 예제 코드는 pyGame 라이브러리를 사용하여 기본적인 화면 디스플레이를 수행하는 방법을 보여줍니다.


우선 화면의 크기를 설정하고, 타이틀바의 텍스트를 설정하고 메인 이벤트 루프로 들어갑니다.


루프 초기에서 몇가지 사소한 이벤트에 대해 처리해준 후에, 칙칙한 검은색으로 화면을 채우고, 조그만 상자를 하나를 그려줍니다.


마지막으로 눈깜박할 시간보다 작은 딜레이를 추가해 FPS(초당 프레임수)를 맞출 수 있는 코드를 추가합니다. 헷갈리지 말아야 할 점은 파라미터로 딜레이 시간이 아닌 목표로 하는 FPS 값이 들어간다는 점입니다.(TARGET_FPS)


이벤트는 닫기 버튼과 ESC 키에 대한 이벤트를 처리하고 있습니다. 이 신경 쓰이는 두가지 이벤트가 발생하면 루프를 빠져나가서 프로그램을 종료합니다.

import pygame
from pygame.locals import *

SCREEN_WD = 400
SCREEN_HT = 400
TARGET_FPS = 60

screen = pygame.display.set_mode((SCREEN_WD, SCREEN_HT), 0, 32)
pygame.display.set_caption("Pygame_Example")
clock = pygame.time.Clock()

running = True
while running:
    for event in pygame.event.get():
        if event.type == QUIT:
            running = False
            continue
        if event.type == KEYDOWN and event.key == K_ESCAPE:
            running = False
            continue

    screen.fill((0, 0, 0, 0))
    vertices = [(10, 10), (20, 10), (20, 20), (10, 20)]
    pygame.draw.polygon(screen, (0, 255, 0, 0), vertices)
    pygame.display.flip()
    clock.tick(TARGET_FPS)

pygame.quit()
print("done")


참고 사항

파일명을 pygame.py로 저장하지 않도록 주의합니다. pygame.py로 저장하면 다음과 같은 에러가 뜨면서 실행이 안 될 것입니다.

ModuleNotFoundError: No module named 'pygame.locals'; 'pygame' is not a package


<테스트 환경>
 - OS : Windows 7
 - Python 버전 : 3.6
,