У меня есть массив спрайтов. Я хочу прокрутить массив и сказать каждому духу перемещаться на определенное расстояние под случайным углом и при этом исчезать. Желательно с послаблением. Есть ли способ настроить последовательность для этого? Можете ли вы иметь изменяемую последовательность, в которой вы можете добавлять действия по мере прохождения массива спрайтов, а затем запускать последовательность, как только вы закончите добавлять все действия?
Последовательность действий в Cocos2d
comment
Вы можете изучить функциональность системы частиц cocos2d. Звучит так, будто вы пытаетесь построить что-то, что, возможно, уже существует.
- person dqhendricks   schedule 21.03.2013
Ответы (1)
Я не очень хорошо понимаю ваш вопрос, но, возможно, этот пример может вам помочь:
CCArray *spritesArray; //array with sprites
float timeToMove = 1.0;
float timeToRotate = 1.0;
float timeToFadeOut = 1.0;
CGPoint initialMovePos = CGPointMake(100, 100);
for (int i = 0; i<[spritesArray count]; i++) {
id moveDistance;
if (i == 0) {
moveDistance = [CCMoveTo actionWithDuration:timeToMove position:initialMovePos];
}else{
CGPoint lastSpritePos = ((CCSprite *)[spritesArray objectAtIndex:(i-1)]).position;
moveDistance = [CCMoveTo actionWithDuration:timeToMove position:ccpAdd(lastSpritePos, CGPointMake(10, 10))];
}
float angleToRotate = random()%360;
id rotateAction = [CCRotateTo actionWithDuration:timeToRotate angle:angleToRotate];
id fadeOutAction = [CCFadeOut actionWithDuration:timeToFadeOut];
CCSprite *sprite = [spritesArray objectAtIndex:i];
[sprite runAction:[CCSpawn actions:moveDistance,rotateAction,fadeOutAction, nil]];
}
person
busta117
schedule
21.03.2013