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اختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس حلقة اللعبة

تدرّب بنفسك: Playground لـ Pygame