ألوان تتغير
جزء من قسم حلقة اللعبة في رحلة 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، وتتوهّج الدائرة مرارًا من الأحمر إلى الأصفر.
التحدي
سهل- قبل الحلقة، عيّن
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()
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس حلقة اللعبة
تدرّب بنفسك: Playground لـ Pygame