Pygame Program Yapısı

Pygame'e giriş yazısında genel olarak pygame nedir, nasıl kurulur gibi sorulara cevaplar verildi ve örnek bir program çalıştırıldı. Bu yazıda ise önceki yazıda yazdığımız kod yapısını inceleyeceğiz.

İlk olarak kullanılacak modüller import edilir. Bu modüller pygame ve sys. Bu sayede pygame içinde yer alan fonksiyonlara ve özel değişkenlere ulaşabileceğiz.
import pygame, sys
pygame.init() fonksiyonunu çağırmak zorunludur. Aksi takdirde pygame'e bağlı fonksiyonlar çalışmaz.
pygame.init()
Daha sonrasında display adında bir değişken tanımlandı. pygame.display.set_mode() fonksiyonu pygame.Surface nesnesi döndürür. Parametre olarak bir tuple verildi. Bu tuple içinde yer alan iki integer değer sırasıyla width(genişlik) ve height(yükselik) değerleridir. Kısacası pencerenin boyutu ayarlandı. Genişilik 720 pixel ve yükseklik 480 pixel.
display = pygame.display.set_mode((720, 480))
Pencere başlığı bu şekild pygame.display.set_caption() ile eklenir.
pygame.display.set_caption('Merhaba Dünya')
Sıra geldi bir oyun için olmazsa olmaz olan oyun döngüsü. Oyun döngüsü kullanıcı çıkış yapmadığı sürece ya da döngünün çalışmasını sağlayan boolean değişken false olmadığı sürece çalışmaya devam eden kod bloğudur. Oyun tamamen bu döngü içerisinde çalışacak. Animasyonlar, kullanıcının aktardığı event'ler gibi birçok şey bu döngü içinde yer alacak. Kullanıcının event'ini yakalamak için ise pygame.event.get() fonksiyonu kullanılır. Herhangi bir event durumunda eğer koşul ifadelerinde bu event'in bir karşılığı varsa o blokta yer alan fonksiyon çalıştırılır. Örneğin aşağıdaki kodda pencerenin x kırmızı tuşuna başarsak, pygame.QUIT constant yakalanacak ve sırasıyla pygame.quit() ve sys.exit() fonksiyonları çalışacak ve oyun kapanacağı için döngü sonlanacak.
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
Elbette programda kullanılacak çok fazla gerekli fonksiyon olacak ancak bunları ileriki yazılarda daha ayrıntılı göreceğiz, ayrıca burada anlatılan yapıları daha ayrıntılı bir şekilde nasıl çalıştığına dair incelemeler yapacağız.

Hiç yorum yok:

Yorum Gönderme