Режим вида спрайта XNA

Каковы различие и последствия использования режим вида Sprite как FrontToBack или BackToFront? Это - это с FrontToBack объект, который имеет меньшее значение слоя, будет ничья сначала и с BackToFron объект, который имеет меньшее значение слоя, будет ничья в последний раз?

8
задан Lucas 17 March 2010 в 13:14
поделиться

1 ответ

Они используют значение layerDepth, которое передается в вызов рисования спрайта. Значение 0 - передний слой, значение 1 - задний, а также все, что находится между этими значениями.

Все режимы сортировки в XNA изменяют, когда и как отрисовываются спрайты. FrontToBack и BackToFront - это то же самое, что и режим Deferred, то есть спрайты отрисовываются только при вызове SpriteBatch.End(). Если вы используете FrontToBack или BackToFront, то при вызове End все спрайты упорядочиваются на основе их layerDepth, где в FrontToBack сначала отрисовываются значения ближе к 0, и наоборот для BackToFront. Следствием этого является то, что, например, в BackToFront спрайты, расположенные сзади (или имеющие глубину слоя, близкую к 1), будут нарисованы первыми и поэтому окажутся под спрайтами, расположенными спереди (значения ближе к 0).

Поскольку сортировка выполняется за вас, эти режимы сортировки немного медленнее, чем другие режимы.

7
ответ дан 5 December 2019 в 21:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: