Добавить анимацию к существующему CCSprite по значению тега

Я создал Анимацию для персонажа. Нужна помощь, чтобы добавить эту анимацию к существующему персонажу по значению его тега. Насколько я проверяю, нет. Все создают новые CCSprite чтобы сделать это одушевленным... но мне нужно добавить анимацию к существующему Sprite. Существующее значение тега Sprite равно 20... Оно хорошо анимируется при создании нового CCSprite..Заранее спасибо..

CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("BearSprites.plist");
CCMutableArray<CCSpriteFrame*>* animateFrames = new CCMutableArray<CCSpriteFrame*>(9);
char str[50] = {0};
for(int i = 1; i < 9; i++)
{
    sprintf(str, "bear_frame%d.png",i);
    CCSpriteFrame *frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(str);
    animateFrames->addObject(frame);
}
CCAnimation *animation = CCAnimation::animationWithFrames(animateFrames, 0.4f);
CCAnimationCache::sharedAnimationCache()->addAnimation(animation, "Walk");
CCAnimationCache *animCache = CCAnimationCache::sharedAnimationCache();
CCAnimation *normal = animCache->animationByName("Walk");
CCAnimate *animN = CCAnimate::actionWithAnimation(normal);

1 ответ

Решение

Используйте этот код:

CCAnimate *animN = CCAnimate::actionWithAnimation(normal);
animN.tag = kTagHeroAnimation; //=272

CCSprite *sprite = (CCSprite*)[self getChildByTag:20];
[sprite stopActionByTag:kTagHeroAnimation]; //=272];
[sprite runAction: animN];
Другие вопросы по тегам