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