2013-08-28 83 views
0

我正在嘗試爲cocos2d創建簡化的色相/飽和度選取器。我想創建一個漸變並從中選擇。我需要爲每種顏色(如藍色,紅色和其他顏色)重新着色黑色/白色圖像漸變。所以我需要創建許多漸變。我知道我應該使用一些混合函數來實現這一點。 但我仍然有點困惑什麼是最好的方式來進行。 我應該使用混合函數嗎?如何在cocos2d中創建色調(飽和度)選取器

我的問題主要是,我使用漸變從黑色到透明或白色的,但與

sprite.setColor(color); 

我得到一個梯度從黑到所需的顏色,但我需要一個梯度所需較深的顏色來白色。

回答

1

你需要做的是創建一個2D漸變,從不飽和到飽和從左到右,從黑暗到光從下到上。我會通過創建一個新的位圖來做到這一點(或者如果你使用OpenGL,一個紋理)。然後,我會使用以下僞代碼爲每個像素着色:

hue = <whatever the user set the hue to> 
for (row = 0; row < height; row++) 
{ 
    for (col = 0; col < width; col++) 
    { 
     sat = col/width; 
     val = row/height; 
     rgb = HSVToRGB(hue, sat, value); 
     setPixel (col, row, rgb); 
    } 
} 
+0

是的想法是好的。我甚至考慮過這個問題,但是我可以將它轉換成cocos2d中的一個彩色雪碧,並可以將它移動到屏幕上?因此,我更願意使用黑色/白色圖像創建精靈,然後用基本顏色對其進行着色。 –

相關問題