[파이썬] `pygame`에서의 폰트 및 텍스트 렌더링

텍스트는 게임 또는 애플리케이션에서 중요한 요소 중 하나입니다. pygame은 텍스트 렌더링을 위한 강력한 기능을 제공하는 파이썬 모듈입니다. 이 블로그 포스트에서는 pygame을 사용하여 폰트를 로드하고 텍스트를 보여주는 방법을 살펴보겠습니다.

필요한 모듈 가져오기

먼저 pygame 모듈을 설치하고 다음과 같이 가져와야 합니다.

import pygame
from pygame.locals import *

폰트 로드하기

텍스트를 보여주기 전에 사용할 폰트를 로드해야 합니다. 폰트 파일(.ttf)을 프로젝트 폴더에 저장한 후, 다음 코드를 사용하여 폰트를 로드할 수 있습니다.

pygame.font.init()  # 폰트 초기화

font_path = "폰트파일.ttf"  # 사용할 폰트 파일 경로
font_size = 32  # 폰트 크기

font = pygame.font.Font(font_path, font_size)  # 폰트 로드

텍스트 생성 및 렌더링

이제 로드한 폰트를 사용하여 텍스트를 생성하고 렌더링할 수 있습니다.

text = "Hello, World!"  # 표시할 텍스트
antialias = True  # 안티얼라이징 사용 여부
text_color = (255, 255, 255)  # 텍스트 색상
background_color = (0, 0, 0)  # 배경색

rendered_text = font.render(text, antialias, text_color, background_color)  # 텍스트 렌더링

화면에 텍스트 표시하기

텍스트를 렌더링했다면, 이제 pygame 윈도우에 텍스트를 표시할 차례입니다.

window_width = 800  # 윈도우 가로 길이
window_height = 600  # 윈도우 세로 길이

pygame.init()  # pygame 초기화
window = pygame.display.set_mode((window_width, window_height))  # 윈도우 생성

# 텍스트가 윈도우 중앙에 위치하도록 계산
text_x = (window_width - rendered_text.get_width()) // 2
text_y = (window_height - rendered_text.get_height()) // 2

window.blit(rendered_text, (text_x, text_y))  # 텍스트 윈도우에 그리기
pygame.display.flip()  # 화면 업데이트

# 게임 루프
running = True
while running:
    for event in pygame.event.get():
        if event.type == QUIT:
            running = False

pygame.quit()  # pygame 종료

결론

이제 pygame을 사용하여 폰트를 로드하고 텍스트를 화면에 표시하는 방법을 배웠습니다. 텍스트의 색상, 크기, 배경색 등을 원하는 대로 조정하여 게임이나 애플리케이션에 맞게 사용할 수 있습니다. 텍스트 렌더링은 게임의 사용자 인터페이스에 필수적인 요소이므로, pygame의 텍스트 관련 기능을 잘 활용하여 멋진 게임을 만들어보세요!