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

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

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

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