Colors XNA以编程方式更改背景颜色

Colors XNA以编程方式更改背景颜色,colors,xna,sprite,Colors,Xna,Sprite,是否有一种方法可以通过编程不断地更改背景的颜色/颜色,例如,我希望开始的颜色完全是蓝色(例如),然后每次Update()调用我都希望背景慢慢地更改为绿色、黄色、蓝色等。。。。我想让颜色淡入下一种颜色,而不是突然切换 有什么办法可以做到这一点吗?我知道有图形设备。清晰(颜色。矢车菊蓝)但这显然不是我想要的。@BrianRasmussen完全正确。您可以更改每帧的清晰颜色。使用一个采用数字值而不是颜色枚举值的Color构造函数 每帧更新r、g和b的值。简单。图形设备。清除正是您想要的 您仍然需要

是否有一种方法可以通过编程不断地更改背景的颜色/颜色,例如,我希望开始的颜色完全是蓝色(例如),然后每次
Update()
调用我都希望背景慢慢地更改为绿色、黄色、蓝色等。。。。我想让颜色淡入下一种颜色,而不是突然切换


有什么办法可以做到这一点吗?我知道有
图形设备。清晰(颜色。矢车菊蓝)但这显然不是我想要的。

@BrianRasmussen完全正确。您可以更改每帧的清晰颜色。使用一个采用数字值而不是颜色枚举值的
Color
构造函数


每帧更新
r
g
b
的值。简单。

图形设备。清除
正是您想要的

您仍然需要的是一种方式:

var red=Color.red;
绿色=颜色。绿色;
//为您提供红色和绿色之间一半距离的颜色
var color=color.Lerp(红色、绿色,0.5f);

如果您想浏览整个调色板,可以将颜色转换为色调并设置色调动画。

为什么这显然不是您想要的?可以将每个绘图上的背景清除为稍微不同的颜色。颜色结构允许自定义颜色,因此您可以通过这种方式轻松创建从一种颜色到另一种颜色的淡入效果。
GraphicsDevice.Clear(new Color(byte r, byte g, byte b));
GraphicsDevice.Clear(new Color(float r, float g, float b, float a));