Arşiv

Etiketlenen yazılar ‘xna game studio’

Şubat 2010 Seminerleri / XNA Game Studio

BilgeAdam Kadıköy Şubesinde gerçekleştirdiğim Şubat Seminerlerinin sonuncusu XNA Game Studio prezentasyonuna buradan erişebilirsiniz.

Bu seminerde değindiğim konular;

  • Oyun Geliştirme ile ilgili bilinmesi gereken kavramlar
  • XNA ile ilgili bilinmesi gereken kavramlar
  • XNA Örnek kodlar

Powerpoint Prezentasyonu

XNA – Oyun Temelleri

XNA ile oyun geliştirmeye başlamadan önce, ekrana nasıl çizim yapabileceğimizi öğrenmemiz gerekiyor.

Not : Buradan ileriye devam etmeden önce XNA – Başlangıç yazımı okumanızı tavsiye ederim.

Öncelikle, ihtiyacımız olacak iki görseli bilgisayarınıza kopyalamanız gerekiyor;

Fil Resmi - Arkaplan olarak kullanılacak Arı Resmi

Solution Explorer‘da Content üzerine sağ tuşla tıklayarak ari.png ve fil.png dosyalarını projeye ekleyelim.

GameLoop.cs dosyamızda class seviyesinde Texture2D tipinde iki değişken oluşturalım;

Texture2D ArkaPlan;
Texture2D Ari;

Daha sonra bu değişkenlere resimleri yükleyeceğiz. Aynı yere bir tane de Rectangle tipinde değişken oluşturalım.

Rectangle OyunPencere;

Bu değişkene ekranımızın boyutlarını yüklüyor olacağız.

LoadContent() method’unda bu değişkenlerin değerlerini atayalım;

OyunPencere = new Rectangle(0, 0, graphics.GraphicsDevice.Viewport.Width, graphics.GraphicsDevice.Viewport.Height);
ArkaPlan = Content.Load<Texture2D>("fil");
Ari = Content.Load<Texture2D>("ari");

GameLoop class’ının constructor‘ında oyunumuzun başlığını değiştirebiliriz;

public GameLoop()
{
	this.Window.Title = "XNA - Oyun Temelleri";
	graphics = new GraphicsDeviceManager(this);
	Content.RootDirectory = "Content";
}

Draw() method’unda resimlerin ekrana çizim işlerini yapacağız. Çizime işlemlerini Begin() ve End() methodları arasında yapmamız gerekiyor;

spriteBatch.Begin(SpriteBlendMode.AlphaBlend);
spriteBatch.Draw(ArkaPlan, OyunPencere, Color.White);
spriteBatch.Draw(Ari, Vector2D.Zero, Color.White);
spriteBatch.End();

Bu durumda uygulamayı çalıştırırsak, karşımıza şöyle bir ekran gelir;

XNA Oyun Temelleri

Şimdi arı resmini, klavye tuşlarını kullanarak ekranda hareket ettirelim. Öncelikle arı’nın ekrandaki konumunu tutan bir değişkene ihtiyacımız var, class seviyesindeki değişkenlere ekleyelim;

Vector2 Location = Vector2.Zero;

Draw() methodunda ari resmini çizdiğimiz satırı güncelleyelim;

spriteBatch.Draw(Ari, Location, Color.White);

Son olarak Update() method’umuzu güncelleyelim;

protected override void Update(GameTime gameTime)
{
	KeyboardState ks = Keyboard.GetState();

	if (ks.IsKeyDown(Keys.Escape))
		this.Exit();

	if (ks.IsKeyDown(Keys.Up))
		Location.Y -= 3;
	if (ks.IsKeyDown(Keys.Down))
		Location.Y += 3;
	if (ks.IsKeyDown(Keys.Left))
		Location.X -= 3;
	if (ks.IsKeyDown(Keys.Right))
		Location.X += 3;

	base.Update(gameTime);
}

Gördüğünüz gibi, klavyede o anda basılı tuşları Keyboard.GetState() ile ks değişkenine yüklüyoruz, sonra basit karşılaştırmalar ile Location değişkenimizin X ve Y değerlerini değiştiriyoruz.

Draw() method’unda ari’yi çizeceğimiz yer olarak Location değişkenini verdiğimiz için, klavyeyi kullanarak ari’yi hareket ettirebildiğimizi görüyoruz.

XNA Oyun Temelleri

Oyunun kaynak kodlarını buradan indirebilirsiniz.

XNA (XNA’s not an acronym) ile Oyun Programlama

XNA Oyun Programlama yazı dizime bu yazımla başlıyorum. Öncelikle XNA nedir? biraz bundan bahsetmek istiyorum.

XNA, .Net ortamında 2D ve 3D oyun geliştirmek için, Microsoft tarafından üretilmiş bir framework‘tür. XNA bir programalama dili veya tekniği değildir, yüzlerce class’tan oluşan bir framework’tür.

XNA temelinde, Xbox platformu için .Net Compact Framework 2.0 ve Windows platformu için .Net Framework 2.0 vardır.

DirectX veya OpenGL‘in low-level fonksiyonlarıyla uğraşmak yerine programcıya, daha kolay yönetilebilir, kullanılabilir, OOP sınıflar sunacak şekilde kodlanmıştır.

Haliyle, oyun geliştirmeye başlamak isteyenler için güzel bir başlangıç noktasıdır.

Microsoft tarafından ilk olarak 14 Mart 2006 tarihinde San Jose California’da düzenlenen Game Developers Conference‘ta duyurulmuştur.

XNA ile geliştirilmiş oyunlar, .Net Compiler aracılığıyla MSIL‘e derlendiği için, ya olduğu gibi ya da çok az modifikasyonla framework kurulu tüm platformlarda çalıştırılabilir.

XNA geliştirmek için yapmamız gereken, bilgisayarımıza XNA Game Studio kurmak. Şu anda en güncel versiyon olan XNA Game Studio 3.1 şuradan indirilebilir.

Ne yazık ki XNA Game Studio 3.1 ve Visual Studio 2010 birbirlerini pek sevmiyorlar. O yüzden Visual Studio 2008 içerisinde XNA Game Project Template’lerinin nasıl göründüğüne bakalım;

Gördüğünüz gibi XNA ile Windows, Xbox ve Zune için oyun geliştirebiliyorsunuz.