Menu
CoddyTech

클릭해서 추가하기

Coddy Pygame 여정의 게임 창에서 배우는 Python 섹션에 포함된 레슨. 32개 중 25번째.

게임이 실행되는 동안 리스트는 늘어날 수 있습니다. stars.append(item)은 항목을 끝에 추가합니다.

마우스 클릭은 이벤트 루프에서 MOUSEBUTTONDOWN 이벤트로 들어오며, event.pos는 클릭이 발생한 위치인 (x, y) 튜플입니다.

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        running = False
    if event.type == pygame.MOUSEBUTTONDOWN:
        stars.append(event.pos)

클릭할 때마다 위치 하나가 추가됩니다. 그리기 부분에서는 이미 리스트에 있는 모든 별을 그리므로, 새 별은 다음 프레임에 표시되고 리스트가 그 별을 보관하기 때문에 계속 남아 있습니다.

리스트는 설정 부분에서 비어 있는 상태로 시작합니다: stars = []. 게임 루프 안에서 만들면 매 프레임 비워져 별이 하나씩 즉시 사라집니다.

challenge icon

챌린지

쉬움

이벤트 루프에서 MOUSEBUTTONDOWN 이벤트가 발생하면 event.pos를 stars에 추가하세요. 그러면 클릭할 때마다 흰색 별이 하나씩 놓입니다.

직접 해보기

import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()

# 게임 루프가 시작되기 전에 여기서 필요한 것들을 설정하세요.
stars = []

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # 매 프레임마다 여기서 필요한 것들을 변경하세요.

    screen.fill((20, 24, 48))
    # 화면을 채운 후 여기서 그리세요.
    for star in stars:
        pygame.draw.circle(screen, (255, 255, 255), star, 5)

    pygame.display.flip()
    clock.tick(60)

pygame.quit()

게임 창에서 배우는 Python의 모든 레슨

직접 연습해 보세요: Pygame 플레이그라운드