私のゲームのパワーアップの 1 つは、すべてのコインを引き付ける渦です。cocos2d の moveto/bezierto メソッドを利用できることは知っていますが、それらに接線速度と半径速度を持たせる方法がわかりません。
さらに難しいのは、渦の中心がすべてのステップで変化する可能性があるため、すべての動きを再調整する必要があることです。
私のゲームのパワーアップの 1 つは、すべてのコインを引き付ける渦です。cocos2d の moveto/bezierto メソッドを利用できることは知っていますが、それらに接線速度と半径速度を持たせる方法がわかりません。
さらに難しいのは、渦の中心がすべてのステップで変化する可能性があるため、すべての動きを再調整する必要があることです。
物理エンジンを使用せずにこれを実現する 1 つの方法は、ポイントアルゴリズムを中心とした回転を使用することです。
これは、渦中心の周りの回転をカバーしています。オブジェクトが渦の周りを回転したら、必要なことは、そのオブジェクトの中心からの距離をフレームごとに一定量減らすことだけです。そうすれば、内側に移動し続けます。
唯一難しいのは、渦に「吸い込まれる」最初の位置からオブジェクトを取得することです。かなりの微調整が必要になります。物理エンジンを使用すると、その部分は物理自体から自然に得られ、常に正しく表示されます。
これは手動ソリューションでは保証されません。また、移動するターゲットを追跡するように設計されていないアクションでは保証されません。たとえば、既存の移動アクションを新しいものに置き換えてフレームごとに移動アクションを変更すると、オブジェクトはまったく移動しません。これを行うたびに、新しいアクションが機能する前に 1 フレームの遅延があります。