Как лучше всего запустить Cocos2d Animation для нескольких спрайтов? - PullRequest
0 голосов
/ 08 сентября 2010

У меня есть массив randomAlphabets, который содержит объекты CCSprite. Мне нужно запустить анимацию на этих объектах. Массив randomAlphabets (NSMutable) может содержать не более 4 элементов. Я запускаю цикл, а затем запускаю анимацию. Это правильный путь?

-(void) startAnimation:(CCSprite *) sprite
{

    [self generateRandomCoordinates]; 

    id actionMove = [CCMoveTo actionWithDuration:3.0 position:ccp(x,y)];
    id actionRotate = [CCRotateBy actionWithDuration:0.0 angle:rotateBy]; 

    id actionMoveDone = [CCCallFuncN actionWithTarget:self selector:@selector(finishedMoving:)]; 

    [sprite runAction:[CCSequence actions:actionMove,actionRotate, actionMoveDone, nil]];

}

-(void) addAlphabetsOnScreen 
{
    for (int i=0; i<=randomAlphabets.count -1; i++) {

        CCSprite *sprite = [randomAlphabets objectAtIndex:i]; 

        [self generateRandomCoordinates];       

        sprite.position = ccp(x,y); 
        [self addChild:sprite]; 

        [self startAnimation:sprite]; 
    }

}

1 Ответ

2 голосов
/ 15 сентября 2010

Конечно, почему бы и нет?

Если у вас есть проблемы с производительностью или спрайты не запускают свои анимации одновременно, вы можете "подготовить" последовательности для каждого спрайта за один шаг (возможно, после загрузки уровня), а затемпросто пни их всех за один шаг.4 Спрайты, начинающиеся в одно и то же время, кажутся не слишком сложными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...