2014-09-15 2 views
0

Я пытаюсь сделать анимацию листа спрайтов с другим действием. Для этого у меня есть файл .png листа Sprite без файла .plist. Моя проблема заключается в том, что анимация spritesheet работает, но с другим действием, подобным этому, в следующем блоке кода это просто не происходит. Сначала он переместит его в пункт назначения, а затем оживит его, но все, что я хочу, чтобы он двигался во время анимации.Sprite Sheet Анимация при перемещении в другое место

void animatespritesheet() 
{ 
    for(i=0;i<10;i++) 
     { 

      _spriteFrame=CCSpriteFrame::create("bulb_f.png",CCRectMake(i*75,0,75,75)); 

      _anims->addObject(_spriteFrame); 
     } 

    _animation=CCAnimation::createWithSpriteFrames(_anims,1.0f); 

    CCSprite* sprite = CCSprite::createWithSpriteFrame(_spriteFrame); 
    //sprite->setPosition(ccp(256,256)); 

    CCAction* axn = CCRepeatForever::create(CCAnimate::create(_animation)); 
    /*CCAction *axn1 = CCMoveTo::create(1.0f,CCPoint(200,200)); 
    CCMoveTo* move = CCMoveTo::create(1.0f,CCPoint(200.0,200.0));*/ 
    _spriteBatch->addChild(sprite); 
    sprite->runAction(axn); 
    //sprite->runAction(move); 
    //sprite->runAction(CCSequence::Create(move,axn,NULL); 
    } 

_anims - это CCArray. файл png имеет размер 75 * 750, который содержит 10 кадров. Я просто не могу это сделать сам. Пожалуйста, помогите мне в этом. Мне действительно нужна помощь.

ответ

1

Используйте CCSpawn для одновременного запуска обоих действий (в этом примере подразумевается cocos 3.0).

[CCActionSpawn actions:action1, action2, nil]; 
+0

Аллен, строго говоря, в этом случае OP может просто запустить две анимации на одном и том же объекте. CCActionSpawn является обязательным, если вам нужно разбить два пути в середине полета в последовательности ... если я правильно напомню. – YvesLeBorg