2012-07-12 13 views
0

내 이미지가 너무 많이 검게 보이는 것처럼 보입니다. 나는 setBlendFunc 함수를 사용한다.cocos2dX setBlendFunc

하지만 스프라이트가 애니메이션을 실행하지 않으면 작동합니다. 실행하면 작동하지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?

CCSprite *effectSprite=CCSprite::create("init_black.png"); 
effectSprite->setBlendFunc((ccBlendFunc) {GL_ONE, GL_ONE}); 
SoliderSprite *enemySolider=(SoliderSprite *)(enemy->objectAtIndex(0)); 
CCArray *position=enemySolider->soliderPosition; 
position->retain(); 
cout<<((CCString *)position->objectAtIndex(0))->intValue()<<endl; 
effectSprite->setPosition(ccp(((CCString *)position->objectAtIndex(0))->intValue(),((CCString *)position->objectAtIndex(1))->intValue())); 
this->addChild(effectSprite); 
string effectString="effect"; 
if(this->direction) 
{ 
    msg.property[1].append("L"); 
} 
else 
{ 
    msg.property[1].append("R"); 
} 

CCAnimate *effectAction=animate->createWithKind(msg.property[1],effectString.c_str(),2); 
effectSprite->runAction(effectAction); 

position->release(); 

답변

1

버그와 새로운 버전에는 문제가없는 것으로 보입니다. 적인 Cocos2D-X의 버전 2.1.5이 코드를 사용해보십시오 :

CCSprite someSprite = CCSprite.spriteWithFile("someImage"); 
ccBlendFunc someBlend = new ccBlendFunc(); 
someBlend.src = OGLES.GL_ONE; 
someBlend.dst = OGLES.GL_ONE; 
someSprite.BlendFunc = someBlend; 
-1

내가이 모드를 사용하면 최종 효과를 보여주고 싶은 것이 아니다 렌더링 생각합니다. 사용 방법 :

SRC = GL_SRC_ALPHA, 
SRC = GL_ONE_MINUS_SRC_ALPHA 
관련 문제