COCOS-2Dを使用しています。オブジェクトが目的地に向かって移動するときに、スプライトの回転速度を下げたい。
最初は速度が速いので、動きに合わせてスムーズに減速したいです。
どうすればこれができるか助けてください。
ありがとう
COCOS-2Dを使用しています。オブジェクトが目的地に向かって移動するときに、スプライトの回転速度を下げたい。
最初は速度が速いので、動きに合わせてスムーズに減速したいです。
どうすればこれができるか助けてください。
ありがとう
- (void)update:(CCTime)delta {
// reduce _ship.rotation
[_ship.physicsBody applyTorque:(_ship.rotation - rotation_01)*800];
rotation_01 = _ship.rotation;
}
最も簡単な方法は、2 つのアクションを並行して実行することです。1 つは移動用で、もう 1 つは回転用です。回転を徐々に遅くしたいので、回転アクションの上にイーズ アクションを適用することで実現できます。これらの行に沿ったもの:
float animDuration = 1.5f;
float animRotateAngle = 720.f; // deg
CCActionInterval* effect = [CCSpawn actions:
[CCMoveTo actionWithDuration: animDuration position: destPoint],
[CCEaseSineOut actionWithAction: [CCRotateBy actionWithDuration: animDuration angle:animRotateAngle]],
nil];
[object runAction: effect];
明示的またはプログラム的に一連の回転を作成し、新しい回転ごとに継続時間を増やしたり、角度を減らしたりします。