Это довольно загруженный вопрос для новичка в cocos2d.
Сначала я бы поработал над бесконечной анимацией. Начните работать, а затем работайте над приостановкой, возобновлением и переключением анимации.
Вы можете настроить анимацию тем же способом, которым вы добавляете спрайт.
NSMutableArray *animFrames = [NSMutableArray array];
for(int i = 1; i <= 3; i++) {
CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"Sprite-%d.png",i]];
[animFrames addObject:frame];
}
CCAnimation *animation = [CCAnimation animationWithName:@"run" delay:0.1f frames:animFrames];
[mySprite runAction:[CCRepeatForever actionWithAction: [CCAnimate actionWithAnimation:animation restoreOriginalFrame:NO]]];
Если вы не знакомы со спрайт-листами, есть много бесплатных ресурсов для создания спрайт-листов и списков ( TexturePacker имеет приятный интерфейс)
Если у вас возникли проблемы с тем, чтобы заставить это работать, у Рэя Вендерлиха есть хорошие учебники. Если вы заходите так далеко, вот несколько указателей для приостановки, возобновления и переключения анимации
Для приостановки или возобновления
[mySprite pauseSchedulerAndActions];
[mySprite resumeSchedulerAndActions];
Переворачивать анимацию всякий раз, когда направления касания переключают горизонтальные направления
mySprite.flipX = YES;
mySprite.flipX = NO;