2011-10-13 12 views
8

私のプロジェクトはcocos2d Box2Dテンプレートとして作成されており、世界を作成しようとするとすぐに問題が発生しています:Xcode:Cocos2d:Box2Dで世界を作成できません

world = new b2World(gravity,doSleep); 

エラーが発生しました: 'b2World'の初期化にコンストラクタが一致しません。

ファイルは.mmです。おそらく、ライブラリのリンクに関する問題があると思いますか?もし私がxCode 4を使用しているなら、どのようにlibが適切にリンクされているかを確認できますか?

ありがとうございました。

+0

どのcocos2dバージョンをお使いですか?それがcocos2d 2.0アルファならば、更新された "cocos2d with box2d"プロジェクトテンプレートが付いてくるはずです。 – LearnCocos2D

答えて

25

あなたはBox2D v2.2以降を使用しています。 b2World constructorでは、引数が1つ(重力)でなくなりました。

world = new b2World(gravity); 
world->SetAllowSleeping(doSleep); 

これは、あなたがBOX2Dのv2.1.xからv2.2.x.に移行するようにする必要があります唯一の変更はできません:あなたは、別途doSleepを設定する必要がありますKobold2DにはBox2D 2.2.1のサンプルプロジェクトがあります.Kobold2Dを使用しなくても、Box2Dの基本的なソースコードを入手できます。特に、GLESDebugDrawクラスと、複数のシェイプを使用してボディにスクリーンバウンディングボックスを設定する方法。

+0

すごく感謝します:) – FBryant87

+0

ありがとうSteffen。 Box2Dの公式リファレンスが更新を見逃しているようです。 http://box2d.org/manual.pdfページ8にはまだ世界を作り出す古い方法があります。ところで、あなたはCocos2Dの質問のための非常に良い "リスナーポート"を設定しています:)。 –

関連する問題