Cocos2d - Chipmunk - Spritebuilder で IOS ゲームを構築しています。あるポイントの周りをキャラクターが周回するようにする必要がありますが、実際の物理学を使用して軌道を実装するのはかなり困難でした。これまでのところ、私は 2 つの方法を試しました。1 つはプレイヤーから惑星までの距離ジョイントを作成し、距離ジョイントの端と惑星に描かれた仮想線の間に角度が作成される 90 度の力をプレイヤーに適用することです。それに対して90度の角度。彼は狂ったように動き回り、この方法は私にはうまくいきません.
次に、惑星からの半径で円周上の 180 ポイントを計算してみました (これは、プレイヤーへの影響を検出して実装する境界です)。彼はパスを正確にたどらず、パスからかなり離れているため、これは機能しません。彼が惑星を一周するように、惑星に向かって重力も適用する必要があると考えています。その力を計算する方法、適用する方法、またはそれが役立つかどうかはわかりませんが.
決して機能しないが、テストに使用された 3 番目の方法は、彼の位置を次の円周ポイントに設定することでした。彼は軌道を回りますが、衝突は機能しません (スペース ジャンクの破片が彼の邪魔をした場合など)。彼は単に他のオブジェクトのすぐ上に配置されます。この世界は、衝突が必要ない場合に最適で、独自の物理エンジンを作成しています。これは洗練された方法ではないため、避けます。
私がすでに行ったことを修正し、それがどのように機能するかを教えてください。または、他のオプションとそれらの実装方法を明らかにしてください。