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