0

スプライトを移動するために使用される onEnterTransitionDidFinish メソッドで実行される 2 つの CCMoveTo があります。どちらも正しく定義されており、どちらも機能しますが、2 番目に呼び出された方だけが実際に視覚的な変化を示します。呼び出し後にスプライトの位置を NSLoged しました。新しい位置は正しいですが、画面上の位置は正しくありません。

アップデーターが最初の呼び出しを認識するために必要な呼び出しはありますか?

明確にするために:

CCMoveBy *moveDown = [CCMoveBy actionWithDuration:0.6f position:ccp(0, -200)];

[backMenu runAction:moveDown]; // Does not show correct position or move animation visually
[menuArm runAction:moveDown]; // Shows correct move animation

どんな助けでも大歓迎です。

4

1 に答える 1

2

同じアクションを 2 回再利用することはできません

 [backMenu runAction:[moveDown copy]];
 [menuArm runAction:moveDown];

CCAction はコピーできるので、同じアクションを使用するたびにコピーするだけで済みます。

于 2013-02-02T19:51:07.697 に答える