2011-08-14 7 views
0

私はスプライトの配列を持ち、各要素に対してアクションを実行します。私が持っている問題は、最後のスプライトが動く唯一のスプライトだということです。複数のスプライトでCCActionを実行

私は3つの配列を追加し、それぞれを反復処理し、次の

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

はそれだけで最後に描画スプライトを移動使用している場合。

Array内のすべての要素に対してどのようにアクションを実行しますか?

私はオブジェクトを同時に動かす必要があります。したがって、すべてのスプライトはアクションを同時に実行する必要があります。これはcocos2d

EDIT * ** * * ** * ** ** ** ** *

- (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

ループコードを追加したり、配列を設定したりできますか?また、objectatindexではなくスプライトで配列をループしない理由は何ですか? – Sup3rpanda

+0

私のコードを追加しました、ありがとうございます。見てください。 – user773578

答えて

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ループ内にあります。そしてその上の変数宣言。

複数のCCNodeに対して1つのCCActionを同時に使用することはできません。

関連する問題