Menu
CoddyTech

화살표 키

Coddy Pygame 여정의 게임 루프 섹션에 포함된 레슨. 32개 중 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프레임일 때 초당 240픽셀 이동합니다. 화살표 키는 K_LEFT, K_RIGHT, K_UP, K_DOWN입니다. 위쪽은 y 값이 더 작다는 뜻입니다.

반복문 바깥에서 변수를 만드세요. 반복문 안에서 설정한 변수는 매 프레임마다 초기화됩니다.

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 플레이그라운드