[파이썬] `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
의 텍스트 관련 기능을 잘 활용하여 멋진 게임을 만들어보세요!