צבעים משתנים
חלק מהיחידה לולאת המשחק במסלול ה-Pygame של Coddy. שיעור 12 מתוך 32.
צבע מורכב משלושה מספרים, ולכן משתנה יכול להיות אחד מהם. משנים את המשתנה בכל פריים, והצבע משתנה על המסך.
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 מתחיל שוב קרוב ל־0 במקום לעבור את 255, והעיגול זוהר מאדום לצהוב שוב ושוב.
אתגר
קל- לפני הלולאה, הגדירו
glow = 0. - בלולאה, לפני הציור, הוסיפו 3 ל־
glowוהשאירו אותו בטווח שבין 0 ל־255 באמצעות% 256. - ציירו את העיגול בצבע
(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 אונליין