2

私はCocos2dを初めて使用し、助けを求めています。

スプライトを左に45度回転させ、再び中央に配置してから、右に約45度回転させたいスプライトがあります。ロッキングモーションのようなものです。

画面上のどこかだけでなく、実際のスプライトに触れたときにこれを実行したいと思います。

現在のように、画面のどこかに触れると360度(テストでは360度)回転しますが、画面をタップするたびに新しいスプライトが表示されます。

私の質問は1つです。スプライトに触れると、後のロッキングモーションが実行されるように設定するにはどうすればよいですか。画面をタップするたびに新しいスプライトがポップアップすることはありません。

4

1 に答える 1

4

どのスプライトUITouchがオンになっているかを確認し(タッチポイントが各スプライトの長方形にあるかどうかを確認することで) 、要件に応じて、ccTouchesBeganまたはccTouchesEnded要件に従ってアニメーションを開始できます。cocos2dに含まれている「TouchesTest」の例を見ることができます。

次のようにアニメーションを実装できます。

CCAction *action = [CCSequence actions:
                    [CCRotateBy actionWithDuration:0.25 angle:-45],
                    [CCRotateBy actionWithDuration:0.5 angle:90],
                    [CCRotateBy actionWithDuration:0.25 angle:-45],
                    nil];
[theSprite runAction:action];
于 2012-05-07T07:04:52.570 に答える