1

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

私が欲しいもの

スプライトはプラットフォーム上をスムーズに前後に移動します。

実際に何が起こるか

ブロック間にスペースがまったくない場合でも、あるブロックから別のブロックに移動する時点でスプライトが詰まることがあります。また、その時点で衝突が登録されることもあります。

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

4

1 に答える 1

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 :)

于 2012-05-03T18:17:00.777 に答える