2010-03-17 13 views
8

¿Cuál es la diferencia y las consecuencias del uso del modo de ordenación de Sprite como FrontToBack o BackToFront? Es que con FrontToBack, el objeto que tiene el valor de capa más pequeño se dibujará primero y con BackToFron el objeto que tiene el valor de capa más pequeño se dibujará el último?XNA sprite sort mode

Respuesta

7

Utilizan el valor de Profundidad de capa que se pasa a la llamada del sorteo de sprites. Un valor de 0 es frontal, y un valor de 1 está de vuelta, y todo entre esos valores.

Todos los modos de clasificación en XNA cambian cuándo y cómo se renderizan los sprites. FrontToBack y BackToFront son lo mismo que el modo Deferred, lo que significa que los sprites son solo representados cuando se llama a SpriteBatch.End(). Si usa FrontToBack o BackToFront, en la llamada para Finalizar, todos los sprites se ordenan en función de su layerDepth, donde en FrontToBack los valores más cercanos a 0 se dibujan primero, y viceversa para BackToFront. La implicación es que en BackToFront, por ejemplo, los sprites en la parte posterior (o, con la capa Profundidad más cercana a 1) se dibujarán primero y por lo tanto aparecerán debajo de los sprites más cerca del frente (valores más cercanos a 0).

Como hace la clasificación para usted, estos modos de clasificación son un poco más lentos que otros modos.