使用Sprite排序模式作为FrontToBack或BackToFront的区别和后果是什么?这是因为使用FrontToBack,具有较小图层值的对象将首先绘制,而使用BackToFron,具有较小图层值的对象将最后绘制?
答案 0 :(得分:7)
它们使用传递给sprite draw调用的layerDepth值。前面的值为0,返回值为1,以及这些值之间的所有值。
XNA中的所有排序模式都会更改精灵的渲染时间和方式。 FrontToBack和BackToFront与延迟模式相同,这意味着在调用SpriteBatch.End()时,精灵仅呈现。如果您使用FrontToBack或BackToFront,那么在调用End时,所有精灵都会根据他们的layerDepth进行排序,其中在FrontToBack中,首先绘制接近0的值,反之亦然BackToFront。这意味着在BackToFront中,例如,后面的精灵(或者,最接近1的layerDepths)将首先被绘制,因此出现在靠近前面的精灵下面(值接近0)。
由于它为您排序,这些排序模式比其他模式慢一点。