Visual Studio 2008 | Engin Polat\'ın Windows 8 , Windows Phone 8 ve C# içerikli programcılık sitesi

Arşiv

Etiketlenen yazılar visual studio 2008

XNA – Başlangıç

18 February 2010 Yorum yapılmamış

XNA serimizin ikinci yazısında, Visual Studio 2008‘lerimizi açıyoruz ve yeni bir Windows Game projesi oluşturuyoruz.

Solution Explorer‘a baktığımızda, proje içindeki dosyaları görüyoruz.

XNA Projesi Solution Explorer Penceresi

XNA Oyununu çalıştırdığımızda, başlangıç noktası olarak Program.cs‘deki Program class’ının static void Main() methodu çalıştırılır.

Main() method’unun yaptığı iş basittir;

static void Main(string[] args)
{
	using (GameLoop game = new GameLoop())
	{
		game.Run();
	}
}

GameLoop class’ından instance oluşturup, Run() method’unu çağırır.

GameLoop class’ına bakarsak;

public class GameLoop : Microsoft.Xna.Framework.Game
{
	GraphicsDeviceManager graphics;
	SpriteBatch spriteBatch;

	public GameLoop()
	{
		graphics = new GraphicsDeviceManager(this);
		Content.RootDirectory = "Content";
	}

	protected override void Initialize()
	{
		base.Initialize();
	}

	protected override void LoadContent()
	{
		spriteBatch = new SpriteBatch(GraphicsDevice);
	}

	protected override void UnloadContent()
	{
	}

	protected override void Update(GameTime gameTime)
	{
		if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
			this.Exit();

		base.Update(gameTime);
	}

	protected override void Draw(GameTime gameTime)
	{
		GraphicsDevice.Clear(Color.CornflowerBlue);

		base.Draw(gameTime);
	}
}

LoadContent() method’u oyunda kullanacağımız grafikleri – sesleri – vs. hafızaya yüklediğimiz yerdir.

UnloadContent() method’u ise, LoadContent() method’unda yüklediğimiz kaynakları hafızadan sildiğimiz yerdir.

Oyun çalıştığı zaman LoadContent() method’u bir defa çalıştırılır. Oyun’dan çıkılırken de UnloadContent() method’u bir defa çalıştırılır.

Update() method’u, ekrana çizilecek nesnelerin, konum-boy-saydamlık-vs. değerlerinin hesaplandığı yerdir.

Draw() method’u ise, nesnelerin ekrana çizim işlemlerinin gerçekleştirildiği yerdir.

.Net Framework sabit olarak saniyede 60 kare çizim yapmayı hedefler. Update() ve Draw() method’larının saniyede 60 kere çalıştırılmasını beklemeliyiz.

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

08 January 2010 Yorum yapılmamış

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.