#!/usr/bin/env python import pygame WINDOWWIDTH = 800 WINDOWHEIGHT = 600 WHITE = (255, 255, 255) BLACK = (0, 0, 0) def main(): pygame.init() while True: window = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT)) pygame.display.set_caption('Hello World') BasicFont = pygame.font.Font('freesansbold.ttf', 20) text = BasicFont.render("Hello World", True, BLACK) textCoord = text.get_rect() window.fill(WHITE) window.blit(text, textCoord) pygame.display.flip() if __name__ == "__main__": main()Kodumuzu adım adım açıklayalım şimdi.
import pygame WINDOWWIDTH = 800 WINDOWHEIGHT = 600 WHITE = (255, 255, 255) BLACK = (0, 0, 0)Pygame'i import ettikten sonra gerekli değişkenleri tanımlıyoruz.Bildiğiniz gibi renk kodları 0-255 arasında değer alan 3 elemanlı bir tuple'dır.
pygame.init()İmport edilmiş modülleri başlatıyoruz.Bunu yazmadığımız takdirde module not initialized hatası verecektir.
window = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT))set_mode() ile 800x600 pixellik bir pencere oluşturuyoruz.Burada kullanmadık ama bu fonksiyon opsiyonel 2 argüman daha almaktadır.flags ve depth.flags ile penceremize özellik atayabiliriz.Kullanabileceğimiz özellikler: pygame.FULLSCREEN,pygame.RESIZABLE,pygame.NOFRAME ...
pygame.display.set_caption('Hello World')Penceremize başlık atıyoruz.
BasicFont = pygame.font.Font('freesansbold.ttf', 20)Yazımızın font'unu ve boyutunu ayarlıyoruz.
text =BasicFont.render("Hello World", True, BLACK)Ekrana bastıracağımız yazımızı render ediyoruz.Burada ikinci parametreye-antialias(yumuşatma)-yazımızın daha güzel görünmesi için True atadık .
textCoord = text.get_rect()get_rect() fonksiyonu verilen surface için(burada text değişkenimiz) rectangular alan belirliyor.Daha sonra bu değişkenin özelliklerini kullanarak nesnemizin koordinatlarını belirleyebileceğiz.
window.fill(WHITE)Penceremizin arkaplanını beyaz yapıyoruz.
window.blit(text, textCoord)text değişkenimizi blit fonksionuyla verilen koordinata yerleştiriyoruz.textCoord 'a parametre atamadığımız için ön tanımlı olarak (0,0) koordinatına yerleşmektedir.
pygame.display.flip()Ekranımızı update ediyoruz.Benzer bir işi yapan bir fonksiyon daha var: pygame.display.update() .Parametresiz, flip() ile aynı işi yapmaktadır.Parametre verdiğimiz takdirde ise ekranın belli bir alanını güncelleyebilmekteyiz.
Kaynakça:
- http://www.pygame.org/docs/
- Invent Your Own Computer Games with Python 2nd edition
Hocam yazılarınızın devamını bekliyorum takipçinizim... :)
YanıtlayınSilBu yorum yazar tarafından kaldırıldı.
YanıtlayınSil