XNA精灵排序模式

问题描述 投票:8回答:1

使用Sprite排序模式作为FrontToBack或BackToFront的区别和后果是什么?这是因为使用FrontToBack,具有较小图层值的对象将首先绘制,而使用BackToFron,具有较小图层值的对象将最后绘制?

xna sprite
1个回答
7
投票

它们使用传递给sprite绘制调用的layerDepth值。值0表示前面,值1表示返回,值介于这些值之间。

XNA中的所有排序模式都会更改精灵的渲染时间和方式。 FrontToBack和BackToFront与延迟模式相同,这意味着只有在调用SpriteBatch.End()时才会呈现精灵。如果您使用FrontToBack或BackToFront,那么在调用End时,所有精灵都会根据他们的layerDepth进行排序,其中在FrontToBack中,首先绘制接近0的值,反之亦然BackToFront。这意味着在BackToFront中,例如,后面的精灵(或者,最接近1的layerDepths)将首先被绘制,因此出现在靠近前面的精灵下面(值接近0)。

由于它为您进行排序,因此这些排序模式比其他模式慢一些。

© www.soinside.com 2019 - 2024. All rights reserved.