Один из самых простых способов сделать это - через CCActions, в частности, с помощью действия CCCallFunc вызвать метод в вашем коде, чтобы запустить анимацию sprite2, как только анимация sprite1 завершится. Затем вы используете CCSequence для создания последовательности действий CCAnimate, а затем CCCallFunc.
// Lets say you have this as the CCAnimation for Sprite1
CCAnimation *sprite1Animation = [CCAnimation …]…
// then you setup the animate action:
// Suppose you have a method called -(void)startSprite2Animation {} which starts the sprite2 animation :-)
id animateAction = [CCAnimate actionWithAnimation:sprite1Animation restoreOriginalFrame:NO];
id callSprite2Animation = [CCCallFunc ctionWithTarget:self selector:@selector(startSprite2Animation)];
id animateAndActionSequence = [CCSequence actions: animateAction, callSprite2Animation,nil];
[sprite1 stopAllActions]; // If you have actions running
[sprite1 runAction:animateAndActionSequence];
// See more on Cocos2D actions here: http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:actions