2013-08-28 3 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의 색깔있는 Sprite에서 화면 주위를 움직일 수있는 가능성으로 변환 할 수 있습니까? 따라서 흑백 이미지를 사용하여 스프라이트를 만든 다음 기본 색상으로 색상을 지정하는 것이 더 중요했습니다. –