[파이썬] pygame 키보드 및 마우스 이벤트 처리

게임 개발에서 사용되는 Pygame 라이브러리는 키보드 및 마우스 입력을 처리하기 위한 다양한 기능을 제공합니다. 이번 블로그 포스트에서는 Pygame을 사용하여 키보드와 마우스 이벤트들을 처리하는 방법을 알아보겠습니다.

키보드 이벤트 처리하기

Pygame에서 키보드 이벤트를 처리하려면 다음과 같은 단계를 따라야 합니다:

  1. pygame.init()을 사용하여 Pygame 초기화하기.
  2. pygame.event.get()을 사용하여 이벤트를 가져올 수 있는 이벤트 루프 생성하기.
  3. 이벤트 루프 안에서 event.type을 사용하여 이벤트 유형을 확인하기.
  4. event.typepygame.KEYDOWN인지 확인하여 키보드가 눌렸을 때의 동작을 수행하기.

아래는 간단한 예제 코드입니다. 이 코드는 ESC 키를 누르면 게임이 종료되는 기능을 가지고 있습니다.

import pygame
import sys

pygame.init()

screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                sys.exit()

마우스 이벤트 처리하기

마우스 이벤트도 키보드 이벤트와 비슷한 방식으로 처리할 수 있습니다. 아래의 예제 코드를 통해 마우스 왼쪽 버튼을 클릭할 때마다 원이 그려지는 기능을 확인해보세요.

import pygame
import sys

pygame.init()

screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
        elif event.type == pygame.MOUSEBUTTONDOWN:
            if event.button == 1:  # 1은 왼쪽 버튼을 의미함
                x, y = event.pos
                pygame.draw.circle(screen, (255, 0, 0), (x, y), 10)

    pygame.display.update()

위의 코드에서 pygame.MOUSEBUTTONDOWN 이벤트를 사용하여 마우스 버튼을 클릭하면 event.pos를 통해 클릭한 위치의 좌표를 얻을 수 있습니다. 그리고 pygame.draw.circle 함수를 사용하여 화면에 원을 그립니다.

Pygame은 키보드 및 마우스 이벤트 처리 외에도 다양한 입력 처리 기능을 제공합니다. 게임을 개발하거나 인터랙티브한 애플리케이션을 만들 때 이벤트 처리는 매우 중요한 부분입니다. Pygame 문서를 참고하여 더 자세한 내용을 알아보세요.

이상으로 Pygame을 사용하여 키보드와 마우스 이벤트를 처리하는 방법에 대해 알아보았습니다. 감사합니다!