[python] Pygame을 이용한 충돌 처리

Pygame은 Python에서 게임 개발에 사용되는 라이브러리로, 그래픽, 사운드, 입력 처리 등의 기능을 제공합니다. 이번 글에서는 Pygame을 사용하여 두 개의 객체 간의 충돌을 처리하는 방법을 알아보겠습니다.

충돌 처리 방법

  1. 객체의 위치와 크기 정보를 가져옵니다.
  2. 두 객체의 위치와 크기를 비교하여 충돌 여부를 확인합니다.
import pygame

# 초기화
pygame.init()

# 화면 설정
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))

# 객체 생성
object1 = pygame.Rect(100, 100, 50, 50)
object2 = pygame.Rect(200, 200, 50, 50)

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

    # 객체 이동 및 화면에 그리기
    pygame.draw.rect(screen, (255, 0, 0), object1)
    pygame.draw.rect(screen, (0, 255, 0), object2)

    # 충돌 처리
    if object1.colliderect(object2):
        print("충돌 발생!")

    pygame.display.update()

# 종료
pygame.quit()

위의 코드에서는 pygame.Rect를 사용하여 두 개의 사각형 객체를 생성합니다. 게임 루프에서는 이동 및 화면에 그리기를 수행한 후, colliderect() 함수를 사용하여 두 객체 간의 충돌을 확인합니다. colliderect() 함수는 두 개의 사각형이 서로 겹치면 True를 반환합니다.

이 코드를 실행하면 객체1과 객체2가 화면에 그려지고, 두 객체가 충돌할 경우 “충돌 발생!”이라는 메시지가 출력됩니다.

참고 자료