2010-03-17 16 views
8

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

7

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à.