Menu
CoddyTech

화살표 키

Coddy의 Pygame으로 게임 만들기 코스 레슨. 41개 중 5번째.

정사각형을 움직이려면 위치를 변수에 저장하고 매 프레임 그 위치에 그리세요. 변수를 변경하면 다음 프레임에 정사각형이 다른 위치에 나타납니다.

pygame.key.get_pressed()는 지금 어떤 키를 누르고 있는지 알려 줍니다. pygame.K_RIGHT와 같은 키 상수로 인덱싱하면, 해당 키를 누르고 있는 동안 결과는 True입니다.

x = 100

while running:
    # 이벤트
    keys = pygame.key.get_pressed()
    if keys[pygame.K_RIGHT]:
        x += 4
    # 채운 다음 x 위치에 그리기

오른쪽 화살표 키를 누르고 있으면 정사각형이 매 프레임 4픽셀씩 움직이며, 초당 60프레임일 때 1초에 240픽셀 움직입니다. 화살표 키는 K_LEFT, K_RIGHT, K_UP, K_DOWN입니다. 위쪽은 y가 더 작다는 뜻입니다.

반복문 전에 변수를 만드세요. 반복문 안에서 설정한 변수는 매 프레임 초기화됩니다. x, y = 100, 50은 한 줄에서 이름 두 개를 설정합니다. x에는 100이, y에는 50이 들어갑니다.

challenge icon

챌린지

쉬움

화살표 키로 사각형을 움직이세요.

  1. 루프 앞에서 x, y = 220, 160과 speed = 4를 설정하세요.
  2. 루프 안에서 이벤트를 처리한 후 pygame.key.get_pressed()를 읽으세요. 누르고 있는 각 화살표 키에 따라 x 또는 y의 값이 speed만큼 바뀝니다.
  3. 사각형을 (x, y, 40, 40) 위치에 그리세요.

‘플레이’를 누르고 화살표 키를 누르고 있으면 사각형이 움직입니다. 그런 다음 ‘확인’을 누르세요.

직접 해보기

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Move the Square")
clock = pygame.time.Clock()

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

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (255, 196, 0), (220, 160, 40, 40))
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Pygame으로 게임 만들기의 모든 레슨

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