화살표 키
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이 들어갑니다.
챌린지
쉬움화살표 키로 사각형을 움직이세요.
- 루프 앞에서
x, y = 220, 160과speed = 4를 설정하세요. - 루프 안에서 이벤트를 처리한 후
pygame.key.get_pressed()를 읽으세요. 누르고 있는 각 화살표 키에 따라x또는y의 값이speed만큼 바뀝니다. - 사각형을
(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 플레이그라운드