是否可以向我发送任何示例代码来解决问题?
现在在draw方法中,我使用以下代码:
spriteBatch.Begin(SpriteBlendMode.AlphaBlend);
spriteBatch.Draw(textureCircle1, spritePositionCircle1, new Color(255, 255, 255, (int)(150)));
spriteBatch.Draw(textureCircle2, spritePositionCircle2, new Color(255, 255, 255, (int)(150)));
spriteBatch.End();
base.Draw(gameTime);
答案 0 :(得分:0)
我不是XNA的人,所以你可能需要做一些翻译。
你是否可以在黑色单色上将它们作为白色在屏幕上渲染,并拍摄得到的图像,使白色成为您想要的透明色,黑色是否完全透明?
我不确定你是如何编码的,但那是我研究的方法。
答案 1 :(得分:0)
检查你认为不太透明的像素的alpha值(你将它们绘制到它们自己的表面上,而不是直接绘制到后备缓冲区,对吗?)。它们可能似乎透明度较低,因为它们的组合颜色较暗。
如果它们真的不太透明,请将曲面上每个像素的透明度更改为相同的值(我担心我不知道如何在XNA中执行此操作)。
如果它们似乎透明度较低,请尝试将精灵完全不透明地绘制到曲面上(这样会完全覆盖另一个),然后再次更改曲面的透明度。