我有一个精灵数组并对每个元素运行一个动作。我遇到的问题是最后一个精灵是唯一移动的精灵。
如果我添加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];
}
}
由于
答案 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。