Menu
CoddyTech

매개변수

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

항상 (320, 240)에 그리는 함수는 별로 쓸모가 없습니다. 매개변수를 사용하면 호출하는 쪽에서 위치를 선택할 수 있습니다. def의 괄호 안에 매개변수 이름을 지정하고, 함수 본문에서 변수처럼 사용하세요:

def draw_star(x, y):
    pygame.draw.line(screen, (255, 240, 200), (x - 10, y), (x + 10, y), 2)
    pygame.draw.line(screen, (255, 240, 200), (x, y - 10), (x, y + 10), 2)
    pygame.draw.circle(screen, (255, 240, 200), (x, y), 4)

각 호출은 같은 순서로 값, 즉 인수를 전달합니다. draw_star(120, 100)은 x가 120이고 y가 100인 상태로 함수 본문을 실행합니다. draw_star(520, 90)은 다른 값을 사용해 다시 실행합니다. 정의는 하나지만, 호출하는 만큼 별을 그릴 수 있습니다.

매개변수는 함수가 실행되는 동안에만 함수 내부에 존재합니다. 함수 밖에서는 x와 y가 아무 의미가 없거나, 그 이름으로 저장한 값이 있을 뿐입니다.

challenge icon

챌린지

중급

호출하는 쪽에서 별의 위치를 정하도록 하세요:

  1. 정의를 def draw_star(x, y):로 바꾸고 (x, y)를 중심으로 그리세요. 선은 x - 10에서 x + 10까지, 그리고 y - 10에서 y + 10까지 그리며, 점은 (x, y)에 찍으세요.
  2. 세 번 호출하세요: (120, 100), (320, 180), (520, 90)에서.

직접 해보기

import pygame

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

# 게임 루프가 시작되기 전에 여기에서 필요한 것들을 설정하세요.
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)

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

    # 여기에서 프레임마다 한 번씩 변경하세요.

    screen.fill((20, 24, 48))
    # 화면을 채운 후 여기에서 그리세요.
    draw_star()

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

pygame.quit()

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

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