我已经使用 XNA 有一段时间了,我真的很喜欢使用它的界面。现在我们正在尝试制作一个“战争迷雾”系统。我们正在制作 RTS,我们基本上是在试图掩盖地图。地图上的单位有影响力,并显示正在发生的事情。它们显示地图上的特定区域。以前我们使用基于磁贴的界面,但我们对外观并不满意。相反,我们决定在屏幕上绘制一个黑色蒙版,然后用 DrawUserPrimitives 显示一个透明的圆圈。问题来了:当我们在屏幕上画一个黑色蒙版,然后是透明的圆圈时,屏幕是全黑的。颠倒顺序也不会改变任何事情。我们还尝试了我们能找到的每一个 SpriteBatch BlendState。
我们目前的方法:现在,我们在屏幕上绘制一个全黑的纹理,然后绘制一个透明的圆圈。结果是完全黑屏。
我们期望的结果:画圆将显示屏幕的一部分,但保持其余部分不可见。我们将能够绘制多个圆,所有圆都有自己的半径,它们可以彼此靠近而不会造成问题。
基本上,我们试图绘制一个黑色蒙版,但显示屏幕的一部分。我们不能只制作圆形纹理并使边缘透明,因为我们试图使圆形的中心透明。我们不能使中心透明,因为这样当两个这样的纹理彼此靠近时,它们的边界就会出现。我将如何制作面具,然后展示它的各个部分?
问候
战神