튕기기
Coddy Pygame 여정의 프로젝트 섹션에 포함된 레슨. 31개 중 12번째.
공은 위쪽과 아래쪽 가장자리에 부딪혀 튕겨 나옵니다. 가장자리에 닿는 순간 vy의 부호를 뒤집습니다. 아래로 움직이던 공은 같은 속도로 위로 움직이게 됩니다.
if ball.top <= 0 or ball.bottom >= 400:
vy = -vy==가 아니라 <=와 >=로 확인합니다. 공은 프레임마다 4픽셀씩 움직이므로 아래쪽 가장자리는 395, 399, 403이 되며, 정확히 400이 되는 경우는 없습니다.
왼쪽과 오른쪽 가장자리는 점수를 얻는 곳이므로 공은 그곳에서 튕겨 나오지 않습니다. 지금은 공이 화면 밖으로 날아갑니다.
챌린지
쉬움공을 이동한 후, 공의 위쪽이 0 이하이거나 아래쪽이 400 이상이면 vy를 반전하세요.
직접 해보기
import pygame
pygame.init()
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption("Pong")
clock = pygame.time.Clock()
ball = pygame.Rect(293, 193, 14, 14)
vx, vy = 5, 4
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
ball.x += vx
ball.y += vy
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (255, 196, 0), ball)
pygame.display.flip()
clock.tick(60)
pygame.quit()
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
프로젝트의 모든 레슨
직접 연습해 보세요: Pygame 플레이그라운드