Проверьте, запущена ли анимация в cocos2d-x
В настоящее время я изучаю cocos2D-x и делаю анимацию спрайтов.
Моя цель заключается в том, чтобы при нажатии кнопки объект перемещался влево с некоторой анимацией.
Теперь, если вы нажимаете несколько раз быстро, анимация происходит немедленно, и похоже, что медведь надеется вместо того, чтобы идти.
Решение проблемы выглядит простым, и я должен проверить, запущена ли анимация и не должна ли новая анимация работать.
Следующее является частью моего кода.
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);
Здесь bearAnimate - глобальная переменная, и я хочу знать, воспроизводит ли она анимацию в данный момент.
Как мне это сделать.?
Спасибо.