2010-09-08 4 views
0

J'ai un tableau randomAlphabets qui contient des objets CCSprite. J'ai besoin de démarrer l'animation sur ces objets. Le tableau randomAlphabets (NSMutable) peut contenir au maximum 4 éléments. Je cours une boucle et commence alors l'animation. C'est la bonne route?Quelle est la meilleure façon de démarrer Cocos2d Animation of Sprites multiples?

-(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]; 
    } 

} 

Répondre

2

Bien sûr, pourquoi pas? Si des problèmes de performance ou des sprites ne démarrent pas simultanément leurs animés, vous pouvez "préparer" les séquences pour chaque image-objet en une seule étape (peut-être après avoir chargé le niveau) et les relancer dans une autre étape. 4 Sprites commençant en même temps ne semble pas trop dur cependant.

Questions connexes