Eylül 19

Uzuun uzuuun zaman sonra ” Lazarus ile ZenGL #2 “

İş, güç, aile derken uzun zamandır günlüğe birşeyler eklemediğimin ve hatta eklediğim yazının devamını da getiremediğimin farkındayım. Bu konuda özürlerimi lütfen kabul edin 🙂 Peki artık daha sık mı yazılar ekleyeceğim ? Elimden geleni yapacağıma inanabilirsiniz. Ama ne yazık ki bunun için bir söz veremiyorum.  Şimdi gelelim esas konuya.

Bu yazıda bir süredir uğraştığım Zengl motorunda sprite ekleyerek eklediğimiz spritein klavye tuşlarıyla yönlendirilmesini işleyeceğiz. Zor bir iş mi ? Hayır. Ama önemli bir iş.  Spritelar oyunun içindeki figürlerdir diyebiliriz. Bu kapsamda yukarıdan seyredilerek oynan bir uçak oyununda komuta ettiğiniz uçaktan tutun, savaştığınız uçaklar, size hediye gelen paketler, hatta düşmanı yok etmek için gönderdiğiniz mermiler bile sayılabilir. { Not:  Bu yazıda uçağa mermide eklemeyi düşünüyordum ama karışıklık artmasın diye onu Zengl #2.5 yazısında anlatacağım. }

Şimdi bir düşünün haritanızda farklı zamanlarda oluşturulmuş yukarıdan aşağıya inen kimi ödül kimi size zarar vermek isteyen patlayıcı malzemeler ağır ağır aşağıya doğru geliyor. Bununla kalmazmış gibi düşman uçaklarıda size  roketlerini göndermiş durumda ve siz hem bunlardan kaçıp, kaçarken olabildiğince karşı tarafa zarar verip toplayabildiğiniz kadarda ödül toplayama çalışıyorsunuz. Evet yukarıdan bakınca eğlenceli shoot em up tarzı oyun diyebilirsiniz ama programlama kısmına baktığınızda bütün bu objeleri hareketlerini, birbiriyle olan etkileşimlerini kontrol etmeli (yok olma, çarpışma ya da puan kazanma gibi ) ve yazdığınız yazılım oyun olduğu için işlemciyide düşünmeniz gerekmektedir.

İşte spritelar bu konuda inanılmaz derece yardımcıdırlar. Çünkü siz tür olarak bir sprite yaratırsınız diyelim ki düşman uçağı. Ve bu türün prosedürlerine ne işlem yapması gerektiğini örnek olarak nerden nereye, ne hızla uçması ve ne kadar atış yapması gerektiği gibi bilgileri program kodunda  belirtirsiniz ve sengine2d_AddSprite dedikçe size bir öncekinden bağımsız ama aynı karakterde uçaklar üretir. Hepsinin yapması gerektiği iş aynıda olsa aynı işi farklı zamanlarda yaparlar ve sizin bunu takip etmeniz gerekmez. Kontrol rutinlerini, işlemleri her tür için bir kez yazarsınız ve istediğiniz kadar eklersiniz.

Aşağıdaki örnekte kullanıcının kullanmış olduğu uçak sadece bulunmakta yakın zamanda ekleyecek olduğum diğer yazıda ise bu uçak çizgiler halinde karşı tarafa kurşun atabilecek hale gelecek 🙂

 https://rapidshare.com/files/1599033160/zengl2.rar

 

ZenGL

 

 

 

 

Did you like this? Share it:

Etiketler:, , , , , , ,

Posted 19 Eylül 2012 by admin in category "Delphi", "Lazarus", "Programlama", "Uygulamalar", "Zengl

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir