J'ai donc enfin pu jouer avec XNA et jouer avec la création d'un jeu 2D (j'ai un tas d'actifs artistiques d'un ami qui l'a développé sur iOS)
Beaucoup de choses semblent faciles à faire et sortent de la boîte, mais je suis perplexe pour un tas de choses car la plupart de la littérature (les livres que j'ai achetés par exemple) ne font pas trop attention à la 2D.
J'apprécierais vraiment toute clarification ou être pointé vers plus d'informations sur les quêtes suivantes:
Quel est l'intérêt d'un Game Service? Je comprends tout l'idiome de l'enregistrement d'un objet en tant que service afin que tout autre GameComponent puisse le saisir, mais comment cela se fait-il simplement en le rendant public ou statique? Par exemple, mon livre recommandait d'enregistrer l'objet SpriteBatch dans la classe Game.cs. Je ne sais pas comment cela est préférable à simplement le rendre public / statique car il ne devrait y avoir qu'une seule instance de Game de toute façon (singleton)?
Je ne sais pas quand je dois hériter de GameComponent ou RenderableGameComponent. J'essaie de suivre une conception de gestionnaire / contrôleur, de sorte que toutes les entités sont créées / détenues par un seul gestionnaire et les mêmes pour d'autres choses. J'ai actuellement chaque gestionnaire / contrôleur hérité de GameComponent, mais comment cela se fait-il que l'objet Game possède tous les gestionnaires et appelle manuellement la mise à jour sur eux et dessine?
J'ai remarqué que Initialize est appelé avant ContentLoad (), j'ai trouvé cela ennuyeux car dans mon Initialize, c'est là que j'aimerais créer certaines de mes entités (c'est-à-dire Sprite, Player, etc.), mais je ne peux pas leur donner leurs données chargées SpriteSheets ou Textures depuis l'appel à les charger n'a pas encore eu lieu. Suis-je peut-être en train d'initialiser incorrectement ou est-ce que les gens attribuent simplement la texture plus bas dans ContentLoad?
Celles-ci semblent être mon plus grand " WTF " de ne pas vraiment comprendre