绘制具有可变透明度的纹理

时间:2011-09-23 20:39:17

标签: c# xna alpha blending

我是一位经验丰富的C#开发人员,但我是XNA和图形新手。我正在制作2D游戏,我正在尝试绘制部分透明的纹理。所需的透明度值存储在float变量中。我发现的唯一解决方案是每帧直接编辑纹理中的alpha值,但这似乎效率低下。我尝试过使用alpha混合,但我还没弄清楚如何使用自己的透明度值。有没有更好的方法呢?

编辑:添加了更多信息。

2 个答案:

答案 0 :(得分:3)

如果您使用spritebatch很简单:

 float alpha = desired_alpha;

 spritebatch.Draw(texture, pos, source, Color.White * alpha);

答案 1 :(得分:0)

您可以尝试使用此Color构造函数传递您的Alpha值:

http://msdn.microsoft.com/en-us/library/dd231957(v=xnagamestudio.31).aspx