在多个精灵上运行CCAction

时间:2011-08-14 19:17:43

标签: cocos2d-iphone

我有一个精灵数组并对每个元素运行一个动作。我遇到的问题是最后一个精灵是唯一移动的精灵。

如果我添加3个数组并遍历每个数组并使用以下

CCRepeatForever *repeat = [CCRepeatForever actionWithAction:moveSequence];
    [[row1 objectAtIndex:i] runAction:repeat];

它只移动最后绘制的精灵。

如何对数组中的每个元素运行操作?

我需要同时移动物体。所以所有的精灵应该同时运行动作。这可能与cocos2d

有关

编辑*的 * ** * ** * ** * ** * ** *

- (void) moveAliens
{
    id left = [CCMoveBy actionWithDuration:10 position:ccp(-35, 0)];
    id right = [CCMoveBy actionWithDuration:10 position:ccp(35, 0)];
    id moveSequence = [CCSequence actions:left, [CCDelayTime actionWithDuration:20],     right, [CCDelayTime actionWithDuration:20], nil];
    id repeatMoveSequence = [CCRepeatForever actionWithAction:moveSequence];

for (int i = 0; i < [row1 count]; i++) 
{
    NSLog(@"i is %d", i);
    //CCRepeatForever *repeat = [CCRepeatForever actionWithAction:moveSequence];
    [[row1 objectAtIndex:i] runAction:repeatMoveSequence];
}
}

由于

1 个答案:

答案 0 :(得分:0)

地点:

left = [CCMoveBy actionWithDuration:10 position:ccp(-35, 0)];
right = [CCMoveBy actionWithDuration:10 position:ccp(35, 0)];
moveSequence = [CCSequence actions:left, [CCDelayTime actionWithDuration:20],     right, [CCDelayTime actionWithDuration:20], nil];
repeatMoveSequence = [CCRepeatForever actionWithAction:moveSequence];
在你的for循环中

。以及它上面的变量声明。

您不能同时将一个CCAction用于多个CCNode。