Sonunda XNA ile oynamaya başladım ve bir 2D oyun yaparak oynuyorum (iOS'ta geliştiren bir arkadaşımdan bir sürü sanat varlığım var)
Bir çok şey yapmak kolay ve kutudan çıkıyor gibi görünüyor, ancak literatürün çoğu (örneğin satın aldığım kitaplar) 2D'ye çok fazla dikkat etmediği için bir sürü şey için güdük bıraktım.
Aşağıdaki görevler hakkında herhangi bir açıklamayı veya daha fazla bilgiye dikkat etmekten gerçekten memnun olurum:
Oyun Hizmetinin anlamı nedir? Başka bir GameComponent'in onu alabilmesi için bir nesneyi bir hizmet olarak kaydetmenin tüm deyimini anlıyorum, ancak bu nasıl basitçe kamusal veya statik hale getiriyor? Örneğin, kitabım SpriteBatch nesnesinin Game.cs sınıfına kaydedilmesini önerdi. Yine de sadece bir oyun örneği (singleton) olması gerektiğinden, bunu genel / statik hale getirmek için nasıl tercih edileceğinden emin değilim?
Ne zaman GameComponent veya RenderableGameComponent devralmak gerekir. Tüm varlıkların tek bir yönetici tarafından yaratıldığı / sahip olduğu ve diğer şeyler için aynı olan bir Yönetici / Denetleyici tasarımını takip etmeye çalışıyorum. Şu anda her Yönetici / Denetleyici GameComponent'ten miras aldım, ancak bu Oyun nesnesinin tüm Yöneticilere sahip olması ve manuel olarak güncellemeyi çağırması ve çizmesi nasıl oluyor?
Initialize'ın ContentLoad () 'den önce çağrıldığını fark ettim, Initialize'de bazı varlıklarımı (örneğin Sprite, Player vb.) Oluşturmak istediğim yer olduğu için bu can sıkıcı buldum, ancak onlara yüklenemiyorum SpriteSheets veya Textures, onları yükleme çağrısından bu yana henüz gerçekleşmedi. Belki yanlış mı başlatıyorum yoksa insanlar sadece ContentLoad içinde dokuyu daha aşağı mı atacak?
Bunlar benim gerçekten anlamadığım en büyük " WTF " gibi görünüyor