Menu
CoddyTech

الساعة

جزء من قسم حلقة اللعبة في رحلة Pygame على Coddy. الدرس 4 من 32.

تعمل حلقتك بأقصى سرعة يستطيع الحاسوب بلوغها: آلاف الإطارات في الثانية على جهاز سريع، وعدد أقل على جهاز بطيء. تحتاج اللعبة إلى السرعة نفسها في كل مكان.

يحافظ pygame.time.Clock على الإيقاع. أنشئ واحدًا قبل الحلقة، ثم استدعِ clock.tick(60) مرة واحدة في نهاية كل دورة. ينتظر المدة اللازمة كيلا تعمل الحلقة أكثر من 60 مرة في الثانية.

clock = pygame.time.Clock()

running = True
while running:
    # الأحداث، الرسم، قلب الشاشة
    clock.tick(60)

يُعدّ 60 إطارًا في الثانية المعدل المعتاد للحركة السلسة. من الآن فصاعدًا، يتحرك كل ما يتحرك 4 بكسلات في كل إطار مسافة 240 بكسلًا في الثانية.

challenge icon

التحدي

سهل
  1. أسفل السطر set_caption، أنشئ ساعة: clock = pygame.time.Clock().
  2. في السطر الأخير من الحلقة، بعد عملية القلب، استدعِ clock.tick(60).

جرّب بنفسك

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Move the Square")

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (255, 196, 0), (220, 160, 40, 40))
    pygame.display.flip()

pygame.quit()

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

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