Attualmente sto imparando cocos2D-x e sto facendo qualche animazione sprite.
Il mio obiettivo è che quando si fa clic su un pulsante, l'oggetto si sposta a sinistra con alcune animazioni. Ora, se fai clic più volte rapidamente, l'animazione si svolge immediatamente e sembra che l'orso speri invece di camminare.Verifica se l'animazione è in esecuzione in cocos2d-x
La soluzione a esso sembra semplice che dovrei controllare se l'animazione è già in esecuzione e se l'esecuzione della nuova animazione non dovrebbe avvenire.
Quanto segue è una parte del mio codice.
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("AnimBear.plist");
CCSpriteBatchNode* spriteBatchNode = CCSpriteBatchNode::create("AnimBear.png", 8);
this->addChild(spriteBatchNode,10);
CCArray *tempArray = new CCArray();
char buffer[15];
for (int i = 1; i <= 8 ; i++)
{
sprintf(buffer,"bear%i.png", i);
tempArray->addObject(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(buffer));
}
CCAnimation *bearWalkingAnimation = CCAnimation::create(tempArray,0.1f);
startAnimation = CCSprite::createWithSpriteFrameName("bear1.png");
startAnimation->setPosition(ccp (350 , CCDirector::sharedDirector()->getWinSize().height/2 -100));
startAnimation->setScale(0.5f);
startAnimation->setTag(5);
//Animation for bear walking
bearAnimate = CCAnimate::create(bearWalkingAnimation);
Qui bearAnimate è una variabile globale e desidero sapere se in riproduzione dell'animazione.
Come si fa?
Grazie.
@LanceGray: Grazie amico! –
Sapresti come è normale in cocos2d? – RollRoll
@ThePoet Penso che la funzione sia la stessa? –