适用于Windows Phone的XNA广告牌透明度
本文关键字:广告牌 透明度 XNA Windows Phone 适用于 | 更新日期: 2023-09-27 18:21:34
好吧,希望这是一个我没有看到的简单修复:我试图在公告牌上实现爆炸的透明度,但在png文件本身中有一个未定义为透明的像素的地方,精灵保持不变。我试图通过将Color.White
乘以透明度(介于0和1之间的float
)来更改透明度
spriteBatch.Begin(0, BlendState.NonPremultiplied, null, DepthStencilState.DepthRead, RasterizerState.CullNone, basicEffect);
Vector3 viewSpaceTextPosition = Vector3.Transform(this.position, camera.View * invertY);
spriteBatch.Draw(Texture, new Vector2(viewSpaceTextPosition.X, viewSpaceTextPosition.Y), null, Color.White * this.Transparency /*Here's where I try to set the transparency of the image drawn*/, 0, new Vector2(Texture.Bounds.Center.X, Texture.Bounds.Center.Y), this.Scale, SpriteEffects.None, viewSpaceTextPosition.Z);
spriteBatch.End();
有什么明显的错误吗?还是XNA for Windows Phone 7无法在3D中渲染透明的东西?
由于您使用的是BasicEffect
而不是内置的精灵效果,我确信您需要设置材质alpha:
basicEffect.Alpha = this.Transparency;