我知道我可以通过命令行来更改订单绘制精灵(在另一个之前),但是如何更改该顺序,例如当按下按钮时?
如何在这款游戏This is a 2d game which the order of sprites change according to its position
中制作类似的内容答案 0 :(得分:2)
您需要使用与SpriteSortMode
不同的Deferred
(默认值)。使用a SpriteBatch.Begin()
with a SpriteSortMode
parameter时可以设置SpriteSortMode
。
使用Deferred
(默认值),调用SpriteBatch.Draw()
的顺序决定了什么重叠(您所谓的排序行)。如果您使用SpriteSortMode.FrontToBack
或SpriteSortMode.BackToFront
,则可以控制layerDepth
SpriteBatch.Draw()
float mySpriteZindex
参数所绘制的顺序。
所以你要做的就是跟踪响应输入的值并将其传递给mySpriteZindex
。例如,您有一个名为SpriteBatch.Draw()
的变量,如果按某个按钮,您可以增加或减少{{1}}。然后你可以将该值传递给{{1}},现在你有办法控制由变量绘制的精灵订单。