화살표 키
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 값이 더 작다는 뜻입니다.
반복문 바깥에서 변수를 만드세요. 반복문 안에서 설정한 변수는 매 프레임마다 초기화됩니다.
챌린지
쉬움화살표 키로 사각형을 움직이세요:
- 루프 전에
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 플레이그라운드