Xna:绘制动力学alpha贴图

时间:2012-06-08 15:14:59

标签: c# graphics xna

我需要在xna中绘制简单的alpha贴图,这取决于当前的游戏状态。我无法在reseources中保存多种alpha映射,所以我想动态绘制它们。

例如,精灵可以部分隐藏在墙后面。

我考虑使用System.Drawing,但是当我包含这个dll时,与Xna名称空间存在冲突。还有另一种在xna中绘制简单位图的方法吗?

感谢您的时间。

1 个答案:

答案 0 :(得分:2)

您不应该使用System.Drawing类。这些工作在系统RAM中的图像上。而是使用XNA来操作位于GPU内存中的纹理。

您可以使用SetRenderTarget()将纹理设置为渲染目标。这将导致在纹理上执行进一步的绘制调用。这样,您可以在纹理上绘制所有内容。但是,您不会有绘制圆形,正方形等的方法。为此,您应该使用相应的几何创建顶点缓冲区或使用精灵模板。