Menu
CoddyTech

나만의 함수

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

함수는 원할 때마다 실행할 수 있는 이름이 붙은 코드 줄의 묶음입니다. def로 함수를 만듭니다.

def draw_star():
    pygame.draw.line(screen, (255, 240, 200), (310, 240), (330, 240), 2)
    pygame.draw.line(screen, (255, 240, 200), (320, 230), (320, 250), 2)
    pygame.draw.circle(screen, (255, 240, 200), (320, 240), 4)

def, 이름, 괄호와 콜론을 씁니다. 함수 본문은 그 아래에 들여쓰기합니다. 함수를 정의해도 아무것도 그려지지 않습니다. Python은 이름 아래의 코드 줄을 기억할 뿐입니다.

함수를 실행하려면 호출합니다. 이름 뒤에 괄호를 씁니다.

draw_star()

게임 루프 전에 설정 부분에서 함수를 정의하고, 필요한 곳에서 루프 안에 함수를 호출합니다. 첫 번째 수업부터 함수를 호출해 왔습니다. print()와 pygame.draw.circle()도 다른 사람이 작성한 함수입니다.

pygame.draw.line(screen, colour, start, end, width)는 두 점 사이에 선을 그립니다.

challenge icon

챌린지

중급

별을 함수에 넣으세요:

  1. 설정 부분에서 def draw_star():를 만들고 별을 그리는 세 줄을 함수 본문으로 옮기세요.
  2. 그리기 부분에서 draw_star()를 호출하세요. 별은 이전과 같이 (320, 240)에 표시됩니다.

직접 해보기

import pygame

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

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

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

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

    screen.fill((20, 24, 48))
    # 화면을 채운 후 여기서 그리세요.
    pygame.draw.line(screen, (255, 240, 200), (310, 240), (330, 240), 2)
    pygame.draw.line(screen, (255, 240, 200), (320, 230), (320, 250), 2)
    pygame.draw.circle(screen, (255, 240, 200), (320, 240), 4)

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

pygame.quit()

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

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