私は月着陸船タイプのゲームを持っています。物理エンジンは一切使用していません。スラスターを使わないと着陸機が落下し続け、最終的には地面に着地します。地面は手描きで、線ではなく曲線に似ており、土地の形状や色は自由です。衝突検出とその結果を適切に使用するにはどうすればよいですか?
1 に答える
3
まあそれはあなたが何をしたいかによります。次のいずれかをお勧めします。
物理エンジンを使用します。彼らは何かのためにそこにいます。描かれたものとは異なる形を作ることができます。直線がある場合は長方形に、曲線の場合は円が多い場合などに混ぜることができます。
独自のカスタムサークル衝突検出器を使用してください。着陸船をバウンディングボックスサイズの円で表します。次に、手描きの線ごとに、線を表す隣接する円の束を作成します。着陸船の位置を確認するときは、基本的に、線を表す円をループして衝突を確認しているだけです。着信擬似コード
for (CollisionCircle* circle in collisions) { if (circle.collidesWith(lander.collisionCircle)) { // 1. Calculate edge distance from lander to circle (position + radius distance) // 2. Remove distance from lander position to fix position. } }
于 2012-08-05T16:56:17.800 に答える