2012-05-15 50 views
0

我使用純粹的XNA 4.0解決方案開始了Windows Phone 7.1的遊戲。該遊戲基本上涉及在迷宮中移動,並且我希望在右上角設置一個圓圈,以顯示玩家在迷宮中的放大視圖。如何將圓形遮罩應用於XNA中的紋理?

我已經編寫了生成隨機迷宮的代碼,因此我可以渲染所有的牆,將此渲染保存到內存中的紋理,並將其縮放到任何需要的大小。但是,這將是一個矩形..我需要它顯示在一個圓圈內。

有關最佳方法的任何想法?

回答

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/