我使用SpriteBatch在屏幕上绘制Texture2D并想知道如何操作图像不透明度?任何人都知道完成此任务的最佳方式?如何使Texture2D 50%透明? XNA
17
A
回答
32
假设您使用带预乘alpha的XNA 4.0。在你的spritebatch.draw中,将颜色乘以一个浮点数,0.5f为50%的透明度,然后像通常一样绘制。如果你不使用预乘alpha,我建议你为了性能的原因做,而且在你习惯之后更直观。
例子:
_spriteBatch.Draw(texture, location, Color.White * 0.5f);
编辑: 另外,请确保您的混合状态设置为BlendState.AlphaBlend,或支持阿尔法和不NonPremultiplied另一混合状态。
实施例:
_spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend);
6
只需使用颜色作为new Color(RGBA);
其中:
- R是红色
- G是绿色
- B是蓝
- A是阿尔法
例如:
new Color(100, 100, 100, 100);
+2
这可能不是有意的,但你只是告诉我,'颜色'参数不是en en lol!我不知道你可以创建自己的颜色。 – TheGateKeeper
相关问题
- 1. iOS:如何使UIWebView 50%透明?
- 2. 如何使HTML表背景50%透明
- 3. 如何检查Texture2D是否透明?
- 4. 如何使透明活动具有50%的透明度
- 5. 在XNA中制作Texture2D的透明部分
- 6. Xna菜单项透明
- 7. XNA“Texture2D”合并
- 8. XNA Texture2D Dispose()+ ObjectDisposedException
- 9. XNA如何使xna不能读透明颜色
- 10. 如何制作视图50%透明?
- 11. 如何释放Texture2D数据/内存? XNA
- 12. XNA Texture2D列表outOfRangeException
- 13. XNA如何制作透明纹理
- 14. XNA:嘲讽的Texture2D
- 15. XNA渲染到Texture2D
- 16. 基于CSS的50%透明边框不使用透明图像
- 17. XNA Texture2D裁剪问题
- 18. XNA纹理图元透明
- 19. C#XNA如何将Texture2D设置为单色?
- 20. 在XNA中缩减Texture2D
- 21. XNA中的texture2D分裂
- 22. 在xna c中裁剪texture2d#
- 23. 微软Xna Texture2D和旋转
- 24. Xna错误 - texture2d的数组
- 25. 带Texture2D的MonoGame XNA Helloworld
- 26. 在XNA的类中使用静态Texture2D
- 27. XNA:使用Content.Load与Texture2D的子类
- 28. CSS:50%透明(透明度)用固态边境
- 29. Monogame和XNA - 如何加载/使用半透明图像?
- 30. XNA动画精灵从透明到不透明
使用乘法运算符上'Color'调制所有四个通道(RGBA)和只使用预乘混合模式时提供了在透明性的预期变化(例如:'AlphaBlend')。对于其他混合状态按预期工作(例如:“添加剂”和“非预先复制”),应该直接设置颜色的alpha值(仅剩下RGB)。 –