튕기기
Coddy의 Pygame으로 게임 만들기 코스 레슨. 40개 중 30번째.
공은 위쪽과 아래쪽 가장자리에서 튕겨 나옵니다. 가장자리에 닿는 순간 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으로 게임 만들기의 모든 레슨
직접 연습해 보세요: Pygame 플레이그라운드