문제

I am trying to set my particle's color to be black like follows. My background color is gray, other colors like red shows up but the black doesn't. Isn't black RGB (0,0,0)? Thanks in advance.

startColor.r = 0.0f;
startColor.g = 0.0f;
startColor.b = 0.0f;
startColor.a = 1.0f;

startColorVar.r = 0.0f;
startColorVar.g = 0.0f;
startColorVar.b = 0.0f;
startColorVar.a = 0.0f;

endColor.r = 0.0f;
endColor.g = 0.0f;
endColor.b = 0.0f;
endColor.a = 1.0f;

endColorVar.r = 0.0f;
endColorVar.g = 0.0f;
endColorVar.b = 0.0f;
endColorVar.a = 0.0f;

self.blendFunc = (ccBlendFunc){GL_SRC_ALPHA, GL_DST_ALPHA}; 
도움이 되었습니까?

해결책

Isn't black RGB (0,0,0)?

Precisely. cocos2d uses additive blending equation (glBlendEquation(GL_FUNC_ADD)), so with source color of RGB(0, 0, 0) and your blend function resulting color is equal to destination color (background).

cocos2d doesn't expose blending equation. You can use {GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA} as blend function or subclass CCParticleSystemand specify different blending equation in its draw method.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top