2012-05-03 10 views
1

タイトルが正しいかどうかわかりません(そうでない場合はコメントしてください)。私はスプライト(長方形のボディ)を持っており、左から右に移動して後ろに移動するように力を加えています。プラットフォームは、同じサイズのいくつかの長方形のブロックで構成され、それらの間に距離はありません。彼らが形成するのは完全な直線です。プラットフォームは平らでも傾斜していてもよい。私はボディ間の滑らかな動き

スプライトは、前方と後方のプラットフォーム上でスムーズに移動したい何

。実際にスプライトが、時にはそれも、すべてのブロックの間にスペースがない、別のブロックから移動ポイントで詰まっている

をどうなり

。また、その時点で衝突が登録されることもあります。

「内部コーナー」と呼ばれるものを検索して見つけようとしましたが、この問題を解決する手がかりがありません。周りを回る方法はありますか?ありがとう!

+0

ゲーム開発特定stackexchangeサイトがあります: http://gamedev.stackexchange.com/たぶん」この同じ質問にも同じ質問をします –

+0

矩形のボディの代わりに角が丸いシェイプを使用します。 PhysicsEditorを使用してシェイプを作成できます。 – Chakalaka

答えて

3

この問題を適切に修正するには、チェーンシェイプから、または「ゴースト頂点」が正しく設定されたエッジからグラウンドを作成する必要があります。ゴースト頂点の詳細については、Box2Dのマニュアルを参照してください。チェーン形状は、基本的にエッジ形状の束ですが、ゴーストの頂点を設定します。

プロジェクトのどの段階にいるかによって、エッジ/チェーンの使用に切り替えるのはかなり面倒かもしれません。次のベストプラクティスは、詰まっている図形の隅の部分を切り取って、互いをより簡単に移動できるようにすることです。ラストディッチオプションは、矩形の代わりに円を使用することです。

も参照してください:

http://code.google.com/p/box2d/wiki/FAQ

http://box2d.org/forum/viewtopic.php?f=3&t=3048

http://www.cocos2d-iphone.org/forum/topic/31787

http://www.cocos2d-iphone.org/forum/topic/29462

http://www.box2d.org/forum/viewtopic.php?f=3&t=8409

http://www.box2d.org/forum/viewtopic.php?f=3&t=7935

http://www.box2d.org/forum/viewtopic.php?f=8&t=7917

http://www.box2d.org/forum/viewtopic.php?f=3&t=7805

http://www.cocos2d-iphone.org/forum/topic/22084

http://www.google.com :)

+0

http://www.iforce2d.net/b2dtut/ghost-vertices – iforce2d