Bu yazımda basitliğiyle ün yapmış pythonun 3D oyun kütüphanesi olan Panda3D yi tanıtmaya çalışacağım
Panda3D ile yapılmış oyunundan bir görüntü
Panda3D nin en sevdiğim özellikleri diye söylemek isteseydim;-python ile yazılabilmesi-Hem Directx hemde OpenGl altyapısı kullanabilmesi-İkinci nedenden ötürü multi-platform olabilmesi-Korkunç derecede basit olması-Open-source bu sayede halk diliyle freeware olması :)Şimdi bir önceki yazımda yaptığım gibi ilk önce işe boş bir ekran hazırlayarak başlıyorum.
Olabilecek en basit yolu buydu, daha basitini istemek tam anlamıyla insafsızlık olurdu.Sadece iki satır kodla boş bir pencere açtıktan sonra sadece iki satır kodla model eklemeye geçiyoruz
Diğer oyun motorlarıyla cebelleştikten sonra bunu görmek bende zamanımı-boşa-harcamışım etkisi yaptı.Panda3D’nin desteklediği 3D formatı olan .egg yi modelimizin sonuna yazmamıza gerek yok. Yani bu şekildede yazılabilirdi;
.egg formatı daha önce hiç duymamış olduğunuz bir format olabilir(ki benimde öyleydi), hiç üzülmeyin egg formatı birçok formattan çevrilebiliyor.Şimdi modelimizle biraz oynayalım. İlk önce pozisyonunu ayarlayalım;
Şimdide modelimizi biraz küçültelim
Burada 0.25 kullanarak modelimizi 1/4 üne küçültüyoruz. Bunu her eksenden yapmaz isek görüntümüz bozulacaktır.Şimdi biraz farklı şeyler deneyelim, mesela bir tuşa bastığımızda bir fonksiyonu çalıştırmak istedik;
base.accept fonksiyonunda ilk argüment tuşun ismi, ikinciside çalıştırılacak fonksiyondur.arrow_up klavyedeki yukarı tuşu oluyor ve biz bunu farklı şekillerede sokabiliriz. Mesela;arrow_up-up : Elimi tuştan çektikten sonra,arrow_up-repeat : Elimi sürekli tuşa basarsamTüm tuş listesine kendi sitesinde vermiş olduğu gibi bakarsak;”escape”, “f”+”1-12” (e.g. “f1″,”f2″,…”f12”), “print_screen” “scroll_lock””backspace”, “insert”, “home”, “page_up”, “num_lock””tab”, “delete”, “end”, “page_down””caps_lock”, “enter”, “arrow_left”, “arrow_up”, “arrow_down”, “arrow_right””shift”, “lshift”, “rshift”,”control”, “alt”, “lcontrol”, “lalt”, “space”, “ralt”, “rcontrol”Klavyedeki harf ve rakamları direk yazabiliriz yani “a” gibi..Hatta bunlarda kombinasyonda yapabiliriz. Mesela;”shift-a”, “shift-control-alt-a”, “shift-alt-a” gibi..Şimdide modelimize geri dönelim. Modelimize şimdi bir iskelet hareketi ekleyerek onu aktör yapmak istedik 🙂
Yine kendi örnek modellerinden birini ve iskeletini koyarak işe başladık. loop(“walk”) diyerek önceden tanımladığımız istekeli çalıştırdık.loop(“walk”) yerine play(“walk”) deseydik sadece iskeletimizi 1 kere oynatacaktık. İskelet hareketini durdurmak için stop() fonksiyonunu kullanabiliriz.Ama buda tam iskelet neredeyse orada tabiri-caizse kalas gibi kalır. Aktörümüzü ilk pozisyonuna almak içinse bunu kullanabiliriz;
Daha çok değinmek istediğim yer var ama başlangıç seviyesi olduğu için son olarak bir sis yapıp artislik bir şekilde yazıdan çıkıcam 😛
setColor(Kırmızı,Yeşil,Mavi) tonları, setExpDensity(0.5) 1 ve 0 arasında baskınlık değeri girerek sisimizi oluşturduk.Eğer bu yazının sonunda Panda3D yi denemek isterseniz;İndirSenin anlattığın kafi gelmedi benim İngilizcemde var diyorsanız;Wikiİndirip kurması çok kolay. Hatta Panda3D python üzerine kurulmuyor kendi pythonunyla beraber geliyor. Eğer yazdığımız bir kodu çalıştırmak istersekte cmd den yada terminalden
Panda3D ile yapılmış oyunundan bir görüntü
Panda3D ile yapılmış oyunundan bir görüntü
Panda3D ile yapılmış oyunundan bir görüntü