가장자리에서 돌아가기
Coddy Pygame 여정의 게임 창에서 배우는 Python 섹션에 포함된 레슨. 32개 중 10번째.
if는 조건이 참일 때만 해당 줄을 실행합니다.
if comet_x > 640:
comet_x = 0조건은 콜론으로 끝납니다. 그 아래 줄은 공백 4칸만큼 들여쓰기되어 있습니다. 이 줄들은 if에 속합니다. Python은 매 프레임 조건을 검사합니다. 혜성이 화면 안에 있는 동안 조건은 거짓이므로 아무 일도 일어나지 않습니다. 혜성이 오른쪽 가장자리를 지나면 조건이 참이 되고, 혜성은 왼쪽으로 돌아갑니다.
비교 결과는 True 또는 False입니다. >는 초과, <는 미만을 뜻하고, ==는 두 값이 같은지 확인합니다. = 하나는 값을 저장하고, 두 개는 비교합니다.
> 640처럼 범위를 검사하고, 정확히 하나의 값만 검사하지 마세요. 혜성은 50에서 시작해 프레임마다 3픽셀씩 이동합니다. 따라서 위치는 635, 638, 641이 됩니다. 혜성은 640에 도달하지 않으므로 comet_x == 640은 절대 참이 되지 않습니다.
챌린지
쉬움혜성을 움직이는 줄 뒤에 if를 추가하세요. comet_x가 640보다 크면 comet_x를 0으로 설정합니다. 그러면 혜성이 창을 계속해서 가로질러 날아갑니다.
직접 해보기
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# 게임 루프가 시작되기 전에 여기에서 필요한 것들을 설정합니다.
moon_x = 160
moon_y = 120
comet_x = 50
comet_y = 200
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 여기에서 프레임마다 한 번씩 값을 변경합니다.
comet_x = comet_x + 3
screen.fill((20, 24, 48))
# 화면을 채운 후 여기에서 그림을 그립니다.
pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)
pygame.draw.circle(screen, (120, 200, 255), (comet_x, comet_y), 8)
pygame.display.flip()
clock.tick(60)
pygame.quit()
게임 창에서 배우는 Python의 모든 레슨
직접 연습해 보세요: Pygame 플레이그라운드