Menu
CoddyTech

화면 가장자리에서 반대편으로 이동

Coddy Pygame 여정의 게임 루프 섹션에 포함된 레슨. 32개 중 22번째.

많은 우주 게임에서는 화면 한쪽을 벗어난 우주선이나 바위가 반대쪽에서 다시 나타납니다. 이것이 화면 순환입니다. 여기서 바위는 오른쪽 위로 떠다니다가 몇 초 후 완전히 사라집니다.

이동한 후 각 가장자리를 확인하세요. 바위의 반지름은 20이므로, 화면에서 완전히 보이지 않을 때까지 벗어난 뒤 다시 나타나게 하세요. 오른쪽에서 480 + 20을 지나면 -20 위치에 다시 나타나 화면 왼쪽 가장자리 너머에서 안으로 미끄러져 들어옵니다.

if pos.x > 500:
    pos.x = -20
if pos.x < -20:
    pos.x = 500

높이를 기준으로 y도 마찬가지입니다. 아래쪽에서 380을 지나면 -20 위치에 다시 나타나고, -20보다 위로 올라가면 380 위치에 다시 나타납니다.

위치만 순간 이동합니다. 속도는 그대로이므로 바위는 화면 순환 후에도 같은 방향으로 계속 떠다닙니다.

challenge icon

챌린지

쉬움

pos += vel * dt 뒤에 바위가 화면 반대편에 나타나도록 처리하세요:

  1. 500보다 크면 pos.x는 -20이 되고, -20보다 작으면 500이 됩니다.
  2. 380보다 크면 pos.y는 -20이 되고, -20보다 작으면 380이 됩니다.

직접 해보기

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Drifting Rock")
clock = pygame.time.Clock()

pos = pygame.Vector2(240, 180)
vel = pygame.Vector2(120, -70)
dt = 0

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

    pos += vel * dt

    screen.fill((20, 20, 34))
    pygame.draw.circle(screen, (150, 150, 160), pos, 20)
    pygame.display.flip()
    dt = clock.tick(60) / 1000

pygame.quit()
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

게임 루프의 모든 레슨

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