XNA kullanarak, Windows 7 Phone için 2D sprite tabanlı bir oyun geliştirmenin ortasındayım. Bunun için mevcut eğitim ve öğreticiler oldukça faydalıdır, ancak karşılaştığım sorun, her birinin sınıf tasarımlarına farklı şekilde yaklaşması ve kodun özellikle iyi düşünülmemesi. Sonuç olarak, belirli bir sınıfa hangi sorumlulukları vermem gerektiğini iyi bir şekilde anlamak benim için zor oldu.
Örneğin, BaseSpritenasıl çizileceğini, çarpışmaları kontrol etmeyi vb. Bilen bir temel sprite sınıfına sahip olabilirim. Daha sonra AnimatedSpritesprite sayfasına, ExplodingSpritesınıfına ve benzerlerine nasıl gidileceğini bilecek bir sınıfa sahip olabilirdim . Bu teknik, Windows 7 Phone Jumpstart Session 2 materyallerinde Space Invaders örneğinde gösterilmiştir .
Alternatif olarak, oyunun sorumluluğunu oluşturma ve çalıştırmanın büyük kısmını bir GameScreensınıfa koyabilirim ; bu sınıf ve türetilmiş sınıfları sorumlulukları bakımından daha çok form veya web sayfası gibi davranırlar. Sprite sınıfları çok daha az mantıklı daha basit kaplardır.
Bu, Windows 7 Telefon Eğitim Seti'nin Alien Sprite oyununda ve diğer oyun yöneticisi örneklerinde kullanılan tekniktir .
Oyun geliştirmede sınıf tasarımına doğru nesne yönelimli yaklaşım nedir?