我需要在xna中绘制简单的alpha地图,这取决于当前的游戏状态。我无法在资源中保存多种 alpha 地图,因此我想动态绘制它们。
例如,精灵可以部分隐藏在墙后。
我考虑使用System.Drawing,但是当我包含这个dll时,与Xna命名空间存在冲突。有没有另一种方法可以在 xna 中绘制简单的位图?
谢谢你的时间。
不应使用 System.Drawing 类。这些适用于位于系统 RAM 中的图像。而是使用 XNA 来操作位于 GPU 内存中的纹理。
您可以使用 SetRenderTarget() 将纹理设置为渲染目标。这将导致在纹理上执行进一步的绘制调用。这样,您可以在纹理上绘制所有内容。但是,您将没有绘制圆形,正方形等的方法。为此,您应该使用相应的几何图形创建顶点缓冲区或使用精灵模板。