0

わかりません。これを機能させることは絶対にできません。アニメーションを再生し、CCAnimateansCCMoveToクラスを使用してスプライトを移動する一連のアクションが必要です。これらのクラスにバグや特別な何かがありますか?このようなアクションの CCSequence で一緒に文字列を並べると、移動したりアニメーション化したりしません。

    action = [CCSequence actions:
                              [CCMoveTo actionWithDuration:moveDuration position:touchLocation],
                              [CCAnimate actionWithAnimation:self.walkingAnim],
                              [CCCallFunc actionWithTarget:self selector:@selector(objectMoveEnded)], nil];
 [self runAction:action];

4

2 に答える 2

3

移動アクションとアニメーション アクションを並行して実行する場合は、次を使用できます。

オプション 1 : CCSequence の代わりに CCSpawn を使用します。完了後に関数を呼び出したいので、CCSequence が必要です。

id action = [CCSpawn actions:
                              [CCMoveTo actionWithDuration:moveDuration position:touchLocation],
                              [CCAnimate actionWithAnimation:self.walkingAnim], 
                               nil];

id seq = [CCSequence actions:
                              action,
                              [CCCallFunc actionWithTarget:self selector:@selector(objectMoveEnded)], 
                               nil];

[self runAction:seq];

オプション 2 : アクションを複数回追加するだけで、並列で実行されます。func-call のため、CCSequence が再び必要になりました。

id action = [CCSequence actions:
                              [CCMoveTo actionWithDuration:moveDuration position:touchLocation],
                              [CCCallFunc actionWithTarget:self selector:@selector(objectMoveEnded)], 
                               nil];
[self runAction:action];
[self runAction:[CCAnimate actionWithAnimation:self.walkingAnim]];
于 2013-05-08T22:40:07.750 に答える