【发布时间】:2010-05-15 10:28:14
【问题描述】:
我正在使用 XNA,但遇到了一个小问题。我需要支持多个图层,每个图层都有不同的 z 顺序(我称这些为“视口”)。一张图片值一千字,所以它应该是这样的:
http://www.charlesstrahan.com/so_files/viewports.png
这里有几件事需要注意。 Sprite 不会在其视口之外渲染,正如您在 Sprite B 中看到的那样。另外,请注意视口是如何渲染的——它与 Photoshop 中的“图层”非常相似。尽管 Sprite C 的 z 顺序为 -1000,但 C 仍会在 Sprite A 上方渲染,因为它的视口的 z 顺序大于 A 的视口的 z 顺序。
在上图中,我无法很好地展示最后一个细节。每个视口都需要在其屏幕区域上选择性地渲染一种颜色 - 您可以将其视为“着色”效果。
当谈到在 XNA 中以最佳方式执行此操作时,我完全不知所措,因此我真的可以使用简短的 C#/VB.NET 代码 sn-p 来演示这一点。任何帮助将不胜感激。
【问题讨论】: