【问题标题】:XNA sprite sort modeXNA 精灵排序模式
【发布时间】:2011-01-28 13:53:41
【问题描述】:

SpriteSortMode 用作FrontToBackBackToFront 有什么区别和后果?就是FrontToBack是先绘制layer值小的对象,BackToFront是layer值小的对象最后绘制?

【问题讨论】:

    标签: xna sprite


    【解决方案1】:

    它们使用传递给精灵绘制调用的 layerDepth 值。值 0 表示前面,值 1 表示后面,以及介于这些值之间的所有值。

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

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

    【讨论】:

    • 还要记住,[0.0f - 1.0f] 之外的 layerDepth 值可能根本不会呈现。
    猜你喜欢
    • 1970-01-01
    • 2011-11-13
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多