有沒有辦法以編程方式不斷改變背景的顏色/顏色,例如,我希望開始顏色完全藍色(例如),然後每個Update()
調用我想要背景慢慢地變成綠色,然後是黃色,然後是藍色等......我希望顏色淡入到下一種顏色,而不是突然切換。XNA以編程方式更改背景顏色
任何想法,我可以如何實現這一點?我知道有GraphicsDevice.Clear(Color.CornflowerBlue);
但這顯然不是我想要的。
任何幫助,高度讚賞。
有沒有辦法以編程方式不斷改變背景的顏色/顏色,例如,我希望開始顏色完全藍色(例如),然後每個Update()
調用我想要背景慢慢地變成綠色,然後是黃色,然後是藍色等......我希望顏色淡入到下一種顏色,而不是突然切換。XNA以編程方式更改背景顏色
任何想法,我可以如何實現這一點?我知道有GraphicsDevice.Clear(Color.CornflowerBlue);
但這顯然不是我想要的。
任何幫助,高度讚賞。
GraphicsDevice.Clear
正是你想要的。
所有你仍然需要是interpolating between colors方式:
var red = Color.Red;
var green = Color.Green;
// Gives you a color at half the distance between red and green
var color = Color.Lerp(red, green, 0.5f);
如果你想通過整個調色板您可以將顏色轉換爲HSL or HSV和動畫的色調。
@BrianRasmussen是完全正確的。您可以改變每一幀的清晰顏色。使用Color
構造函數中的一個,該構造函數使用數字值而不是顏色枚舉值。
GraphicsDevice.Clear(new Color(byte r, byte g, byte b));
GraphicsDevice.Clear(new Color(float r, float g, float b, float a));
,每幀,更新的r
,g
和b
你的價值觀。簡單。
爲什麼這顯然不是你想要的?您可以清除每個繪圖上的背景,使其顏色略有不同。 Color結構允許自定義顏色,因此您可以通過這種方式輕鬆地從一種顏色創建淡入淡出效果。 – 2013-03-27 23:24:26