Menu
CoddyTech

צבעים משתנים

חלק מהיחידה לולאת המשחק במסלול ה-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, והעיגול זוהר מאדום לצהוב שוב ושוב.

challenge icon

אתגר

קל
  1. לפני הלולאה, הגדירו glow = 0.
  2. בלולאה, לפני הציור, הוסיפו 3 ל־glow והשאירו אותו בטווח שבין 0 ל־255 באמצעות % 256.
  3. ציירו את העיגול בצבע (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()
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לולאת המשחק

תרגלו בעצמכם: Pygame אונליין