运行时XNA精灵顺序管理?

时间:2014-02-25 15:20:57

标签: c# xna sprite

我知道我可以通过命令行来更改订单绘制精灵(在另一个之前),但是如何更改该顺序,例如当按下按钮时?

如何在这款游戏This is a 2d game which the order of sprites change according to its position

中制作类似的内容

1 个答案:

答案 0 :(得分:2)

您需要使用与SpriteSortMode不同的Deferred(默认值)。使用a SpriteBatch.Begin() with a SpriteSortMode parameter时可以设置SpriteSortMode

使用Deferred(默认值),调用SpriteBatch.Draw()的顺序决定了什么重叠(您所谓的排序行)。如果您使用SpriteSortMode.FrontToBackSpriteSortMode.BackToFront,则可以控制layerDepth SpriteBatch.Draw() float mySpriteZindex参数所绘制的顺序。

所以你要做的就是跟踪响应输入的值并将其传递给mySpriteZindex。例如,您有一个名为SpriteBatch.Draw()的变量,如果按某个按钮,您可以增加或减少{{1}}。然后你可以将该值传递给{{1}},现在你有办法控制由变量绘制的精灵订单。