0

我已经开始使用纯 XNA 4.0 解决方案为 Windows Phone 7.1 开发游戏。游戏本质上将涉及在迷宫中移动,我想在右上角有一个圆圈,显示玩家在迷宫中的位置的缩小视图。

我已经编写了生成随机迷宫的代码,因此我可以渲染所有墙壁,将此渲染保存到内存中的纹理并将其缩放到所需的任何大小。但这将是一个矩形......我需要将它显示在一个圆圈内。

关于最佳方法的任何想法?

4

1 回答 1

0

您可以使用模板缓冲区...

首先用你的掩码填充模板缓冲区

然后在模板缓冲区中写入具有正确功能的地图。

它可能与此类似:

 You fill stencil buffer with a black filled circle rounded by white

之后,使用以下操作绘制地图:

 StencilFunction = CompareFunction.GreaterEqual
 StencilPass = StencilOperation.Replace

您可以在此处获取更多信息:

https://web.archive.org/web/20120507161332/http://www.crappycoding.com/2010/08/texture-modification-using-render-targets-with-some-stencil-buffer-action/

于 2012-05-15T19:01:36.190 回答