Qual è la differenza e le conseguenze dell'utilizzo della modalità di ordinamento Sprite come FrontToBack o BackToFront? È con FrontToBack che l'oggetto con il valore di livello più piccolo verrà disegnato per primo e con BackToFron l'oggetto con il valore di livello più piccolo verrà disegnato per ultimo?Modalità di ordinamento sprite XNA
risposta
Utilizzano il valore layerDepth passato alla chiamata di sprite draw. Il valore 0 è anteriore e il valore 1 è tornato, e tutto tra questi valori.
Tutte le modalità di ordinamento in XNA cambiano quando e come vengono renderizzati gli sprite. FrontToBack e BackToFront sono uguali alla modalità Differita, il che significa che gli sprite sono solo resi quando viene chiamato SpriteBatch.End(). Se si utilizza FrontToBack o BackToFront, alla chiamata alla fine tutti gli sprite sono ordinati in base al loro layerDepth, dove in FrontToBack vengono disegnati prima i valori più vicini a 0 e viceversa per BackToFront. L'implicazione è che in BackToFront, ad esempio, gli sprite nella parte posteriore (o, con layerDepths più vicini a 1) verranno disegnati per primi e quindi appaiono sotto gli sprite più vicini alla parte frontale (valori più vicini a 0).
Poiché l'ordinamento è per voi, queste modalità di ordinamento sono leggermente più lente rispetto ad altre modalità.