Yazar: ceyhunalyesil

Mavi Düşler

Özgürlükiçin’in tema bölümüne yeni özellikler eklene dursun bende orada yapılan çalışmalara heves edip azıcık görünüm ayarlarıyla oynamaya başladım. Normalde masaüstümü olabildiğince sade tutarım, malum işletim sistemini kullanırken ne kadar sade o kadar hızlı mantığı ya da bilgisayarcı büyüklerimin “bilgisayarcı dediğin sade olur” desturuyla olsa gerek hep klasik takılırdım. Bu kötü bir alışkanlıktı; tamam eski sistemlerde […]

Oyun Yapımı -3

Vakit bol olunca uğraşıp duruyoruz. Bundan böyle kodlar uzadığı için google code üzerinde oluşturduğum bir proje üzerinden sizlere dosyaları ulaştıracağım. Oyunumuzun adı gmsgame oldu ve bundan böyle gplv3 ile lisanslı. 0.3 numaralı versiyon şu adresten indirilebilir. Şimdi gelelim bu versiyonla birlikte neler yaptığımıza. Öncelikle artık girdiğimiz verileri bir veritabanında tutuyoruz. Veritabanı olarak Sqlite’ı tercih ettim, […]

Oyun Yapımı -2

Gece yazdığım uygulamaya sabah ek yapıyorum. Şimdi dediğim gibi rastgele çekebilirdik canavarı bende öyle yaptım ama sadece sağlığını değiştirdim. Saldırı puanını bir sonraki yazıda düzenlerim. Rastgele seçim yapmak için önce canavarlar isimli bir sözlük nesnesi oluşturdum sonra random modülünün choice() fonksiyonunu kullanarak bu sözlüğün anahtarlarından rastgele bir seçim yaptım. Aşağıda ki while döngüsüne tekrardan bir […]

Oyun Yapımı -1

Arada sırada Python bilgimi tazelemek için boş işlerle uğraşırım. Bu da uğraştığım boş işlerden birisi. Oyun programlamaya girdiğinizde tüm oyunların birer döngüden ibaret olduğunu göreceksiniz. En basitinden tutunda en karmaşık oyunlara kadar hepsi döngüler üzerine kuruludur. Zaten çoğunda Panda3d yazılarında bahsettiğim gibi loop() fonksiyonu gibi fonksiyonlar kullanırsınız. Hazır bir oyun motoru kullanırsanız bu fonksiyonlar önceden […]

Panda3D Hareket İçin Interval

Evet arkadaşlar, sahnemizi oluşturduk. İçerisine bir panda koyduk güzel oldu şimdi sırada pandamızı hareket ettirmeye geldi. Bunun için Interval denilen bir özelliği kullanacağız. Öncelikle kodlarımızı ekleyelim: import direct.directbase.DirectStartfrom pandac.PandaModules import *from direct.task import Taskfrom direct.actor import Actorfrom direct.interval.IntervalGlobal import *import mathenviron = loader.loadModel(“models/environment”)environ.reparentTo(render)environ.setScale(0.25,0.25,0.25)environ.setPos(-8,42,0)def SpinCameraTask(task): angledegrees = task.time * 6.0 angleradians = angledegrees * (math.pi / […]

Panda3D Aktörler

import direct.directbase.DirectStartfrom direct.task import Taskfrom direct.actor import Actorimport mathenviron = loader.loadModel(“models/environment”)environ.reparentTo(render)environ.setScale(0.25,0.25,0.25)environ.setPos(-8,42,0)def SpinCameraTask(task):angledegrees = task.time * 6.0angleradians = angledegrees * (math.pi / 180.0)base.camera.setPos(20*math.sin(angleradians),-20.0*math.cos(angleradians),3)base.camera.setHpr(angledegrees, 0, 0)return Task.conttaskMgr.add(SpinCameraTask, “SpinCameraTask”)pandaActor = Actor.Actor(“models/panda-model”,{“walk”:”models/panda-walk4″})pandaActor.setScale(0.005,0.005,0.005)pandaActor.reparentTo(render)pandaActor.loop(“walk”)run() Sahnemizi daha önce ki eğitsellerde yüklemiştik. Kodumuz gittikçe gelişiyor şimdi ilk olarak import ettiğimiz modüllere tekrardan bakın. Ekstradan Actor modülünü import ettik. Şimdi uygulamanın son bölümüne bakın, […]

Panda3D Kamera Kontrolü

Devam ediyoruz, şimdi aşağıdaki kodları inceleyelim: import direct.directbase.DirectStartfrom direct.task import Taskimport mathenviron = loader.loadModel(“models/environment”)environ.reparentTo(render)environ.setScale(0.25,0.25,0.25)environ.setPos(-8,42,0)def SpinCameraTask(task):angledegrees = task.time * 6.0angleradians = angledegrees * (math.pi / 180.0)base.camera.setPos(20*math.sin(angleradians),-20.0*math.cos(angleradians),3)base.camera.setHpr(angledegrees, 0, 0)return Task.conttaskMgr.add(SpinCameraTask, “SpinCameraTask”)run() Yine DirectStart’ı import ettik fakat bu sefer ekstra bir kaç modülü daha kullanmamız gerekti. Geçen sefer eklemiş olduğumuz sahnemizde kamera düzgün değildi burada işi halletmesi için […]

Panda3D Sahne Yükleme

import direct.directbase.DirectStart environ = loader.loadModel(“models/environment”)environ.reparentTo(render)environ.setScale(0.25,0.25,0.25)environ.setPos(-8,42,0) run() Yine önce DirectStart’ı import ediyoruz. environ isimli bir nesne oluşturduk bu nesnemize modelimizi yükledik. “models/environment” kısmının ayrıntılı kullanımı için dosya söz dizimi eğitseline bakabilirsiniz. Aslında pygame dokümanlarını okumuş olan arkadaşlar sistemin benzer olduğunu fark edecektir. Nesneleri yükleyip render ediyoruz sonrada oynatıyoruz. Nesnelerin açı ve pozisyon değerlerini belirliyoruz. Ayarlanabilen bir […]

Panda3D Başlangıç

Öncelikle düzgün kurulup kurulmadığına bakalım: import direct.directbase.DirectStartrun() Satırlarını boş bir belgeye yazalım ve uzantısını .py yaparak kaydedelim. DirectStart vasıtasıyla gerekli bazı modülleri yükledik. Run komutuyla da döngümüzü başlattık. Her oyunda bir tane run() komutu uygulanır oyunumuzu başlatan bu komuttur bu yüzden bu boş dosyada da onu kullandık. Bu komut her zaman son satıra yazılır bunu […]