2012-02-24 16 views
1

"正当な"領域となるポリゴンを定義し、そのポリゴンの内側に矩形を移動させて、その点がポリゴンの外側にあるどこにでも矩形を移動させないようにする必要があります。衝突検出を行う最も良い方法は何ですか?

ポリゴンは固定された形状なので、その形状のPNGをインポートしてそのようにポイントを引っ張るのが最も簡単だと思っていましたか?しかし、私は矩形の座標をユーザーがドラッグする際のチェックに関わる数学についてはまだ失われています。そして、どの点で形状を境界ポリゴンの端に移動したかをテストします。

残念ながら、境界ポリゴンはかなり複雑な形状です。誰かが私にこのような衝突検出を実行する最良の方法が何であるかを示すチュートリアルを教えてくれることを願っています。

答えて

4

メタネットのexcellent collision detection tutorialには、軸に沿ったバウンディングボックス(AABB)と任意の「壁」とのスウィートコリジョンを行う方法に関する良いセクションがあります。

ポリゴンが凹形の場合は、多角形を複数の凸多角形に分解するのが最も簡単であることがわかります。これにより、利用可能な衝突検出アルゴリズムが簡略化されます。

+0

これはすばらしいチュートリアルです。ありがとうございます。私はそこから取り組むことができると思う。 –

1

矩形の角を確認する場合は、それぞれの "内側"テストを行うことができます。 http://en.wikipedia.org/wiki/Point_in_polygon

そして、あなたはまた、あなたがどうかを確認するために、多角形のすべての行に対して、矩形内の4行ごとにテストを行うことができ、多角形「パンク」あなたの長方形のノー先のとがった部分ことを確認するには彼らは交差している。 http://en.wikipedia.org/wiki/Line-line_intersection

関連する問題