라이브러리 가져오기
import pygame, sys
from pygame.locals import *
pygame
과 sys
를 가져옵니다.pygame.locals
에는 Pygame에서 자주 사용하는 이벤트 및 상수들이 포함되어 있어 QUIT
같은 이벤트 코드를 간결하게 사용할 수 있습니다.Pygame 초기화
pygame.init()
pygame.init()
는 Pygame을 사용할 수 있도록 라이브러리를 초기화합니다. 모든 Pygame 모듈을 설정하고 사용할 준비를 합니다.화면 설정
WIDTH = 700
HEIGHT = 600
DISPLAYSF = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Title")
WIDTH
와 HEIGHT
로 게임 화면의 크기를 지정하고, DISPLAYSF
라는 변수에 화면을 표시할 디스플레이 Surface를 만듭니다.pygame.display.set_caption("Title")
은 창의 제목을 "Title"로 설정합니다.메인 루프 정의
def main():
col_arr = [(255, 0, 0), (0, 255, 0), (0, 0, 255)]
col = 0
run = True
main()
함수 안에서 col_arr
라는 색상 배열을 정의하고, 빨간색, 초록색, 파란색 RGB 값을 리스트로 지정합니다.col
변수는 색상 배열의 인덱스를 저장하고, 사각형의 색상을 변경할 때 사용됩니다.run
변수를 True
로 설정하여 메인 루프의 실행을 제어합니다.메인 루프
while run:
DISPLAYSF.fill((255, 255, 255))
while run:
루프는 run
이 True
일 때 계속 실행됩니다. 이 루프에서 게임의 주요 논리와 이벤트 처리가 이루어집니다.DISPLAYSF.fill((255, 255, 255))
는 화면을 흰색으로 채워 매 프레임마다 초기화합니다.이벤트 처리
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
if event.type == pygame.MOUSEMOTION:
col += 1
pygame.event.get()
은 이벤트 목록을 가져옵니다.pygame.QUIT
이벤트는 창을 닫는 이벤트로, 이를 감지하면 run = False
로 설정해 메인 루프를 종료합니다.pygame.MOUSEMOTION
이벤트는 마우스가 움직일 때 발생하는 이벤트입니다. 마우스가 움직이면 col
값을 1 증가시켜 색상을 변경합니다.사각형 그리기 및 색상 변경
rect = pygame.Rect(300, 250, 100, 100)
pygame.draw.rect(DISPLAYSF, col_arr[col % 3], rect)
(300, 250)
위치에 (100, 100)
크기의 사각형을 생성하고, rect
변수에 저장합니다.col_arr[col % 3]
은 col
을 3으로 나눈 나머지를 인덱스로 사용해 색상을 선택합니다. col
이 증가할 때마다 배열의 다음 색상으로 넘어갑니다.화면 업데이트
pygame.display.update()
pygame.display.update()
는 화면에 변경 사항을 표시합니다. 모든 그려진 내용을 새로 고칩니다.프로그램 종료
if __name__ == "__main__":
main()
pygame.quit()
sys.exit()
__name__ == "__main__"
를 확인해 직접 실행된 경우 main()
함수를 호출합니다.pygame.quit()
으로 Pygame을 종료하고, sys.exit()
로 프로그램을 완전히 종료합니다.col_arr
와 col
변수를 통해 순환적으로 색상이 바뀌게 됩니다.