Tom*_*Tom 21 xna transparency opacity
我正在使用SpriteBatch在屏幕上绘制Texture2D,并想知道如何操纵图像的不透明度?有谁知道完成这个的最好方法?
Cla*_*der 37
假设您正在使用带有预乘alpha的XNA 4.0.在你的spritebatch.draw中,将颜色乘以浮点数,0.5f,50%透明度,并按正常情况绘制.如果您不使用预乘alpha,我建议您出于性能原因而做,并且在您习惯它后会更直观.
例:
_spriteBatch.Draw(texture, location, Color.White * 0.5f);
Run Code Online (Sandbox Code Playgroud)
编辑:还要确保将混合状态设置为BlendState.AlphaBlend,或者另一个支持alpha且不是NonPremultiplied的混合状态.
例:
_spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend);
Run Code Online (Sandbox Code Playgroud)
小智 6
只需使用颜色new Color(RGBA);:
例如:
new Color(100, 100, 100, 100);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24744 次 |
| 最近记录: |