[파이썬] pygame 키보드 및 마우스 이벤트 처리
게임 개발에서 사용되는 Pygame 라이브러리는 키보드 및 마우스 입력을 처리하기 위한 다양한 기능을 제공합니다. 이번 블로그 포스트에서는 Pygame을 사용하여 키보드와 마우스 이벤트들을 처리하는 방법을 알아보겠습니다.
키보드 이벤트 처리하기
Pygame에서 키보드 이벤트를 처리하려면 다음과 같은 단계를 따라야 합니다:
pygame.init()
을 사용하여 Pygame 초기화하기.pygame.event.get()
을 사용하여 이벤트를 가져올 수 있는 이벤트 루프 생성하기.- 이벤트 루프 안에서
event.type
을 사용하여 이벤트 유형을 확인하기. event.type
이pygame.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을 사용하여 키보드와 마우스 이벤트를 처리하는 방법에 대해 알아보았습니다. 감사합니다!