XNA-Spritesortiermodus

8

Was ist der Unterschied und die Konsequenzen der Verwendung Sprite Sortiermodus als FrontToBack oder BackToFront? Mit FrontToBack wird das Objekt mit dem kleineren Layerwert zuerst gezeichnet und mit BackToFron wird das Objekt mit dem kleineren Layerwert zuletzt gezeichnet?

    
Lucas 17.03.2010, 13:14
quelle

1 Antwort

7

Sie verwenden den LayerDepth-Wert, der an den Sprite-Draw-Aufruf übergeben wird. Ein Wert von 0 ist vorne und ein Wert von 1 ist zurück und alles dazwischen.

Alle Sortiermodi in XNA ändern, wann und wie die Sprites gerendert werden. FrontToBack und BackToFront sind die gleichen wie der Deferred-Modus, dh die Sprites werden only gerendert, wenn SpriteBatch.End () aufgerufen wird. Wenn Sie FrontToBack oder BackToFront verwenden, werden alle Sprites beim Aufruf von End auf der Basis ihrer LayerDepth sortiert, wobei in FrontToBack die Werte, die näher an 0 liegen, zuerst gezeichnet werden und umgekehrt für BackToFront. Die Folge ist, dass in BackToFront zum Beispiel die Sprites in der Rückseite (oder mit LayerDepths, die am nächsten bei 1 liegen) zuerst gezeichnet werden und daher unterhalb der Sprites näher an der Front erscheinen (Werte näher bei 0).

Da es die Sortierung für Sie vornimmt, sind diese Sortiermodi etwas langsamer als andere Modi.

    
Bob 17.03.2010, 16:26
quelle

Tags und Links