Quindi sono finalmente riuscito a giocare con XNA e ho giocato con un gioco 2D (ho un sacco di risorse artistiche da un amico che lo ha sviluppato su iOS)
Molte cose sembrano essere facili da fare ed escono fuori dagli schemi, ma sono rimasto perplesso per un sacco di cose poiché la maggior parte della letteratura (i libri che ho comprato per esempio) non presta troppa attenzione al 2D.
Gradirei davvero qualsiasi chiarimento o suggerimento di ulteriori informazioni sulle seguenti questin:
Qual è lo scopo di un servizio di gioco? Comprendo l'intero linguaggio della registrazione di un oggetto come servizio in modo tale che qualsiasi altro GameComponent possa afferrarlo, tuttavia come può farlo semplicemente renderlo pubblico o statico? Ad esempio, il mio libro mi ha raccomandato di registrare l'oggetto SpriteBatch nella classe Game.cs. Non sono sicuro di come sia preferibile renderlo semplicemente pubblico / statico poiché dovrebbe esserci comunque solo un'istanza di Game (singleton)?
Sono confuso su quando dovrei ereditare da GameComponent o RenderableGameComponent. Sto cercando di seguire un progetto Manager / Controller, in modo tale che tutte le entità siano create / possedute da un singolo manager e lo stesso per altre cose. Al momento ho ogni Manager / Controller ereditato da GameComponent, tuttavia come si può ottenere se l'oggetto Game possiede tutti i Manager e chiama manualmente l'aggiornamento su di essi e disegna?
Ho notato che Initialize viene chiamato prima di ContentLoad (), l'ho trovato fastidioso poiché nel mio Initialize è dove mi piacerebbe creare alcune delle mie entità (ad esempio Sprite, Player ecc.), Tuttavia non posso darle il loro carico SpriteSheets o Textures poiché la chiamata per caricarli non è ancora avvenuta. Sto forse inizializzando in modo errato o le persone semplicemente assegnano la trama più in basso in ContentLoad?
Quelli sembrano essere il mio più grande " WTF " di non capire veramente