צבעים שמשתנים
חלק מהיחידה לולאת המשחק במסלול ה-Pygame של Coddy. שיעור 12 מתוך 35.
צבע מורכב משלושה מספרים, ולכן משתנה יכול להיות אחד מהם. שנה את המשתנה בכל פריים, והצבע ישתנה על המסך.
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 אונליין