Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python PyGame – 창에 텍스트 표시하기

Pygame(파이게임)은 파이썬으로 게임과 멀티미디어 애플리케이션을 개발할 때 가장 널리 사용되는 멀티미디어 라이브러리입니다. 이 글에서는 pygame 모듈을 활용해 화면에 원하는 폰트와 텍스트를 출력하는 방법을 알아보겠습니다. 단순히 텍스트를 띄우는 것뿐만 아니라, 텍스트의 크기(높이와 너비)와 pygame 윈도우 내 위치를 지정하는 방법까지 함께 살펴봅니다.

Pygame에서 텍스트 표시하는 기본 흐름

아래 예제 프로그램은 다음과 같은 순서로 동작합니다.

먼저 pygame 모듈을 초기화하고, 화면 모드(set_mode)와 창 제목(caption)을 정의합니다. 다음으로 폰트 객체를 생성해 텍스트를 렌더링한 뒤, 텍스트가 표시될 좌표를 지정합니다. sur_obj.blit() 함수가 준비된 텍스트를 화면에 그려주며, 마지막의 while 루프는 사용자가 창 종료 버튼을 클릭할 때까지 이벤트를 계속 감시하는 역할을 합니다.

예제 코드

import pygame
import sys

# pygame 초기화
pygame.init()

# 화면(윈도우) 크기 설정
sur_obj = pygame.display.set_mode((300, 200))

# 창 제목 설정
pygame.display.set_caption("Text in Pygame")

# 폰트 색상 및 폰트 객체 생성
font_color = (0, 150, 250)
font_obj = pygame.font.Font(r"C:\Windows\Fonts\segoeprb.ttf", 25)

# 텍스트 객체 렌더링
text_obj = font_obj.render("Welcome to Pygame", True, font_color)

while True:
    sur_obj.fill((255, 255, 255))
    sur_obj.blit(text_obj, (22, 0))
    for eve in pygame.event.get():
        if eve.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
    pygame.display.update()

주요 코드 설명

pygame.font.Font() – 사용할 폰트 파일의 경로와 글자 크기를 지정하여 폰트 객체를 생성합니다. 위 예제에서는 Windows 시스템 폰트인 segoeprb.ttf를 25pt 크기로 사용했습니다. 경로 앞에 r을 붙여 raw string으로 처리하면 역슬래시(\) 관련 오류를 예방할 수 있습니다.

render() – 지정한 문자열을 화면에 그릴 수 있는 Surface(텍스트 객체)로 변환합니다. 두 번째 인수인 True는 안티앨리어싱(부드러운 가장자리 처리)을 적용한다는 의미이며, 세 번째 인수는 텍스트 색상입니다.

blit() – 렌더링된 텍스트 객체를 화면의 지정한 좌표(x=22, y=0)에 그립니다. 이 좌표 값을 조절하면 텍스트의 위치를 자유롭게 변경할 수 있습니다.

실행 결과

위 코드를 실행하면 흰색 배경의 300×200 크기 윈도우가 열리고, 왼쪽 상단에 파란색 계열의 "Welcome to Pygame" 텍스트가 표시됩니다.

Python PyGame – 창에 텍스트 표시하기

폰트 파일 경로나 크기, 색상 값(RGB), blit 좌표를 변경하면서 실행해 보면 pygame의 텍스트 출력 방식을 더욱 쉽게 익힐 수 있습니다.