변하는 색상
Coddy Pygame 여정의 게임 루프 섹션에 포함된 레슨. 32개 중 12번째.
색상은 세 개의 숫자로 이루어져 있으므로, 변수 하나에 그중 하나를 저장할 수 있습니다. 매 프레임 변수 값을 바꾸면 화면의 색상도 바뀝니다.
glow = 0
while running:
# 이벤트
glow = (glow + 3) % 256
pygame.draw.circle(screen, (255, glow, 0), (240, 180), 60)매 프레임 초록색 성분에 3을 더하므로, 원의 색은 빨간색에서 주황색을 거쳐 노란색으로 바뀝니다.
색상의 각 성분은 0에서 255 사이의 값이어야 합니다. 256이 되면 pygame은 ValueError: invalid color 오류와 함께 중단됩니다. % 연산자는 나눗셈의 나머지를 구합니다. 256 % 256은 0이고 258 % 256은 2입니다. 따라서 (glow + 3) % 256은 255를 넘어가는 대신 0에 가까운 값부터 다시 시작하고, 원은 빨간색에서 노란색으로 계속 빛납니다.
챌린지
쉬움- 루프 전에
glow = 0으로 설정합니다. - 루프에서 그리기 전에
glow에 3을 더하고% 256을 사용해 0부터 255 사이의 값으로 유지합니다. (255, glow, 0)색상으로 원을 그립니다.
직접 해보기
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Glow")
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.circle(screen, (255, 120, 0), (240, 180), 60)
pygame.display.flip()
clock.tick(60)
pygame.quit()
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
게임 루프의 모든 레슨
직접 연습해 보세요: Pygame 플레이그라운드