我是一名经验丰富的 C# 开发人员,但我对 XNA 和图形一般来说是新手。我正在制作一个 2D 游戏,我正在尝试绘制一个部分透明的纹理。所需的透明度值存储在浮点变量中。我发现的唯一解决方案是直接编辑每帧纹理中的 alpha 值,但这似乎效率低下。我尝试过使用 alpha 混合,但我无法弄清楚如何使用我自己的透明度值。有更好的方法吗?
编辑:添加了更多信息。
如果您使用 spritebatch 很容易:
float alpha = desired_alpha;
spritebatch.Draw(texture, pos, source, Color.White * alpha);
您可以尝试使用此 Color 构造函数来传递您的 alpha 值:
http://msdn.microsoft.com/en-us/library/dd231957(v=xnagamestudio.31).aspx