Problem with action orders

Hi gurus!

I have a problem. First of all, let me explain the situation:

I’am developing a game, first steps, the game is a puzzle game with some kind of “turns”.
Each 10 seconds some sprites must go up X pixels, and do it all at the same time.
Then when all the sprites went up this X pixels, some of them must move Y pixels to the right, but this time it must be in order. First the entity on the left, next one the one in the right of the first one and so on.

This last ordered movement I have made it with Sequence actions and CCCallFuncN. It works fine.

But if I make the upwards movement first and then the right sequence movement it does not do the trick and only performs de action sequence to the right.

This is what I do:

@
void HelloWorld::gameLogic(float ct)
{
// Create the actions
CCSize size = CCDirector::sharedDirector()>getWinSize;
CCFiniteTimeAction* actionUp = CCMoveBy::create1, ccp );
CCFiniteTimeAction* actionUp2 = CCMoveBy::create1, ccp );
player
>runAction( CCSequence::create(actionUp, NULL) );
player2~~>runAction );
CCFiniteTimeAction* actionMove = CCMoveTo::create2.0, ccp );
CCFiniteTimeAction* actionMoveDone = CCCallFuncN::create);
CCFiniteTimeAction* actionMove2 = CCMoveTo::create0.5, ccp );
player~~>runAction( CCSequence::create(actionMove, actionMoveDone,actionMove2, NULL) );
this->unscheduleAllSelectors();
}

// cpp with cocos2d-x
void HelloWorld::spriteMoveFinished(CCNode* sender)
{
CCSprite *sprite = (CCSprite *)sender;
CCSize size = CCDirector::sharedDirector()>getWinSize;
CCFiniteTimeAction* actionMove = CCMoveTo::create1.0, ccp );
player2
>runAction( CCSequence::create(actionMove, NULL) );

}
@

Anyone could pleaso help to dos this two movements separately and well working??

Thank you and kind regards

Ibai