Öncelikle çalışacağımız ekranın koordinat düzlemine benzer bir yapıda olduğunu ve sol üst köşeşinden başladığını unutmayalım ancak bu düzlemde karışıklığa sebep olmamak için negatif değerler yerine koordinatlar için pozitif değerler kullanılmaktadır.
Öncelikle kullanacağımız görüntünün boyutunu, konumunu ve resmimizi tutacak
Texture2Dyapılarını tutan bir sınıf geliştirmek.Image adında bir sınıf oluşturuyoruz.Sınıfı oluştururken kullanacağımız Microsoft.Xna.Framework isimalanını ve diğer gerekli isim alanlarını eklemeyi unutmayalım.Vector2 bizim gerekli koordinatları tutabileceğimiz ,Texture2d ise 2D resim dosyalarını tutabileceğimiz bir sınıftır.


şeklinde nesnemizi üretiyoruz.Resmimizi çizdirmek için Draw metotu içerisine
spriteBatch.Begin(); spriteBatch.Draw(instance.image, instance.point, Color.CornflowerBlue);
spriteBatch.End();
şeklinde resmimizi çizdirmiş oluyoruz.Ancak görüldüğü gibi resmimiz hareketsizdir. Hareket ettirebilmemiz için Update metotu içerisinde gerekli işlemleri tanımlamamız gerekmektedir.
Biz 800x600 yapımızda hareket eden bir top ve bu yapı içerisinde çarpışması ve her çarpışmada
MediaPlayer yardımıyla bir mp3 dosyayının nasıl çalışacağı ve çarpışmanın sayısını sayan bir yapı tasarlayacağız. Çarpışma kontrolunu oluşturduğumuz aşağıdaki metot yardımıyla gerçekleştireceğiz.
Update metotu içerisinden çağırdığımız metot şu şekilde tanımlandı.

Ekranımızın boyutları ve o anki konumları parametre olarak gönderildi.ref anahtar sözcüğü ile göndermemizin sebebi ise değer tipi olan x ve y değerlerinin direk değişmelerini sağlamak.Döndürülen değerlerin OR işlemine tabi tutulması ise herhangi bir çarpmanın gerçekleşip gerçekleşmediğidir.Metotumuz

yaptığı iş ve nasıl çalıştığı ayrıntılı şekilde tanımlanmıştır.
Update metotumuz ise
if (instance.ImageMove(800,600,5,10)) { MediaPlayer.Play(song); }
şeklinde çalışmaktadır ve çarpma işlemi gerçekleştiğinde MediaPlayer yardımıyla çarpma sesi
çalmamıza sebep olacaktır. Ses dosyasını oyuna dahil etmek için ise
Song song = Content.Load
kullanabiliriz.
Uygulamamız üzerinde string ifadeler yazmak istersek
Content>Add>New Item> Sprite Font ile bir dosya ekliyoruz.Bu dosyamızda yazının
fontu özellikleri belirlebilmektedir. Bunu uygulalamıza çizdiribilmek için ise öncelikle LoadContent metotu içerisindeFont font = Content.Load
Bu makalemizde XNA için resim, ses ve font dosyalarını ekleme resim dosyalarının hareket ettirme, ses dosyalarının çalınması ve font dosyasının ekrana nasıl çizilebileceğini incelemiş olduk.Uygulamanın örnek görüntüsü. Kaynak kodlara buradan ulaşabilirsiniz.




Hiç yorum yok:
Yorum Gönder