Comprobar si la animación se está ejecutando en cocos2d-x

Actualmente estoy aprendiendo cocos2D-x y estoy haciendo un poco de animación sprite.
Mi objetivo es que cuando se hace clic en un botón, el objeto se mueve hacia la izquierda con algo de animación. Ahora, si hace clic varias veces rápidamente, la animación se realiza de inmediato y parece que el oso está esperando en lugar de caminar.

La solución parece sencilla: debería comprobar si la animación ya se está ejecutando y si la nueva animación no debería tener lugar.

Lo siguiente es una parte de mi código.

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);

Aquí bearAnimate es una variable global y deseo saber si actualmente está reproduciendo la animación.

Cómo lo hago.?
Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta