Menu
CoddyTech

Saat

Coddy'nin Pygame ile Oyun Yap kursunda ders 4 / 41.

Döngünüz bilgisayarın çalışabildiği en yüksek hızda çalışır: hızlı bir makinede saniyede binlerce kare, yavaş bir makinede ise daha az. Bir oyunun her yerde aynı hızda çalışması gerekir.

pygame.time.Clock hızı sabit tutar. Döngüden önce bir tane oluşturun, ardından her yinelemenin sonunda bir kez clock.tick(60) çağırın. Böylece döngünün saniyede en fazla 60 kez çalışması için gerektiği kadar bekler.

clock = pygame.time.Clock()

running = True
while running:
    # olaylar, çizim, ekranı güncelleme
    clock.tick(60)

Saniyede 60 kare, akıcı hareket için alışılmış hızdır. Bundan sonra, her karede 4 piksel hareket eden bir şey saniyede 240 piksel hareket eder.

challenge icon

Görev

Kolay

Oyunun saniyede 60 kare hızında çalışmasını sağla.

  1. set_caption satırının altına bir saat oluştur: clock = pygame.time.Clock().
  2. Döngünün son satırı olarak, flip işleminden sonra clock.tick(60) çağır.

“Oyna” düğmesine bas: kare aynı görünür, artık saniyede 60 kez çizilir. Ardından “Kontrol et” düğmesine bas.

Kendin dene

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()

Pygame ile Oyun Yap bölümündeki tüm dersler

Kendi başına pratik yap: Pygame playground