0

エンドストーンとして繰り返しアニメーションを含むアニメーションシーケンスを再生するための推奨されるアプローチは何ですか? たとえば、いくつかのシナリオを次に示します。

  1. スプライトが画面に表示され、イントロ アニメーションが再生され、「アイドル」アニメーションが永遠に繰り返されます
  2. 「アイドル」アニメーションのスプライトは何らかのアクションを実行するため、スプライトが再びアイドル状態を開始する必要がある最後に、他の特定のアニメーションを再生する必要があります。

「アイドル」アニメーションは CCRepeatForever にラップされているため、CCSequence ではこれを行うことができません。アイドリング アニメーションの上で好きなアニメーションを実行することを単純に選択した場合、フレームのちらつきが発生します (両方のアニメーションが同時に再生されているように見えます)。

すべてのアニメーションは CCAnimationCache 内にあります...アドバイスをいただければ幸いです。

4

1 に答える 1

1

推奨されるアプローチがあるかどうかはわかりません。私がすることは、遅延を伴うか、アニメーション完了ハンドラーを介して最初のアニメーションにチェーンすることにより、2 番目のアニメーション (繰り返しのアニメーション) を実行することです。

連鎖を行う簡単な方法は、最初のアニメーションの最後にCCCallFunc、2 番目のアニメーションのトリガーを呼び出す次のようなアクションを追加することです。

CCActionInterval* action = [CCSequence actions:
           [CCProgressFromTo actionWithDuration:duration_ from:100.f to:0.f],
           [CCCallFunc actionWithTarget:self selector:@selector(startSecondAction)],
           nil ];
于 2012-09-14T10:00:35.553 に答える