Menu
CoddyTech

צבעים שמשתנים

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

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 אונליין