Visual Studio ile yeni bir proje başlattığımızda ana dosyamızın içersinde bir kaç metot var. Bu yazıda bu metotlardan bahsetmek istiyorum zira oyunu geliştirirken temelde bu metotları kullanıyoruz. Bu yazı hem yeni başlayanlara işin mantığı konusunda bir fikir verebilir. Bunun yanında Microsoft’un bizlere sunmuş olduğu örnekleri de incemekte fayda var ama o konu sonra.
PyGame yazılarını okumuş olanlar ya da başka bir platformda oyun programlayanlar için oldukça kolay gelecektir. Şimdi açtığımız Windows Game uygulamasında Game.Cs isimli dosyaya tıklayalım. Kullanılan sınıflar falan geçelim, isimlerinden belli zaten ne oldukları 🙂 ilk metodumuz şu satırda:
protected override void Initialize()
Initialize() metodu oyunu başlamaya hazır hale getirdiğimiz bölümdür. İlk ayarların yapıldığı bir kısım gibi düşünebiliriz burayı. Oyun başlamadan önce yüklenmesi gereken içeriği veya servisleri buradan yükleyebilirsiniz.
protected override void LoadContent()
LoadContent() metodu oyun için gerekli olan tüm objelerin yüklenmesini sağlar. Şu aşamada oyunu yüklemiş oluyoruz. PyGame’de sahneyi yüklediğimizi hatırlayın. Onun gibi bir şey.
protected override void UnloadContent()
UnloadContent() ise oyundan çıkış aşamasında uygulanan bir metotdur. Oyundan çıkarken kullanıcıya “emin misiniz?” şeklinde sorulan soruların eklendiği bir kısım diyebiliriz.
protected override void Update(GameTime gameTime)
Update() metodu ise oyun sırasında bir güncelleme yapmanızı sağlar. Kullanıcı ile etkileşim, veri girişi, ses çalma gibi aktiviteler için gerekli fonksiyonlar bu bölümde barındırılır. Bu oyun oynanırken çalışan bölümdür ne load edersiniz ne unload oyun içersinde zaman kontrolünü gameTime ile sağlarsınız.
protected override void Draw(GameTime gameTime)
Draw() metodu adından anlaşılacağı gibi çizimlerimizin yapıldığı kısımdır. Draw modülü vardı tey tey sattık Python’u da C# ile uğraşıyoruz hehe. Bunlar temel metotlardır arkadaşlar yeni proje açtığınızda bunlar hazır halde gelir. Platformer örneğinde olduğu gibi(XNA Developer Center üzerinden indirebilirsiniz) bunlara yardımcı çeşitli metotları bizlerde kendi oyunlarımız için geliştireceğiz. Çizim yeteneğim sıfıra yakın olduğundan sanırım ilerki yazılar bu bahsettiğim örnekler üzerinden ilerleyecektir.