我正在使用XNA,并且遇到了一些小问题。我需要支持多个图层,每个图层都有一个不同的z顺序(我称之为“视口”)。一张图片胜过千言万语,所以这里是它应该是什么样子:在XNA中渲染多个图层
http://www.charlesstrahan.com/so_files/viewports.png
有几件事情需要注意。正如你可以看到Sprite B所看到的那样,Sprites不会在其视口之外渲染。另外,请注意视口的渲染方式 - 它与Photoshop中的“图层”非常相似。尽管Sprite C具有-1000的z顺序,但C仍然呈现在Sprite A之上,因为其视口的z顺序大于A的视口z顺序。
在上面的图片中,我无法很好地展示最后一个细节。每个视口都需要在屏幕的区域内可选地呈现颜色 - 您可以将其视为“调色”效果。
对于在XNA中实现这个最好的方式,我完全不知所措,所以我真的可以使用一小段C#/ VB.NET代码来演示这个动作。任何帮助将不胜感激。