0

Cocos2d - Chipmunk - Spritebuilder で IOS ゲームを構築しています。あるポイントの周りをキャラクターが周回するようにする必要がありますが、実際の物理学を使用して軌道を実装するのはかなり困難でした。これまでのところ、私は 2 つの方法を試しました。1 つはプレイヤーから惑星までの距離ジョイントを作成し、距離ジョイントの端と惑星に描かれた仮想線の間に角度が作成される 90 度の力をプレイヤーに適用することです。それに対して90度の角度。彼は狂ったように動き回り、この方法は私にはうまくいきません.

次に、惑星からの半径で円周上の 180 ポイントを計算してみました (これは、プレイヤーへの影響を検出して実装する境界です)。彼はパスを正確にたどらず、パスからかなり離れているため、これは機能しません。彼が惑星を一周するように、惑星に向かって重力も適用する必要があると考えています。その力を計算する方法、適用する方法、またはそれが役立つかどうかはわかりませんが.

決して機能しないが、テストに使用された 3 番目の方法は、彼の位置を次の円周ポイントに設定することでした。彼は軌道を回りますが、衝突は機能しません (スペース ジャンクの破片が彼の邪魔をした場合など)。彼は単に他のオブジェクトのすぐ上に配置されます。この世界は、衝突が必要ない場合に最適で、独自の物理エンジンを作成しています。これは洗練された方法ではないため、避けます。

私がすでに行ったことを修正し、それがどのように機能するかを教えてください。または、他のオプションとそれらの実装方法を明らかにしてください。

4

1 に答える 1

0

ここで私の答えをチェックしてください。box2d用ですが、Chipmunkでもできます。bodyAの位置が変われば軌道は同じです。ニーズに合わせて体の動きの速度を変更するだけでよく、滑らかさを上げて更新方法を遅くするだけです。

于 2014-07-16T18:51:11.467 に答える