0

いくつかの流動的なコードを機能させようとしていますが、古いバージョンの Box2D を使用して記述されていることがわかりました。私は自分で変更を加えようとしましたが、この部分で行き詰まっていることがわかりました。

b2PolygonDef polyDef;
polyDef.SetAsBox(b2Random(0.3f,0.7f), b2Random(0.3f,0.7f));

polyDef.density = 3.0f;
b2BodyDef bodyDef;
bodyDef.position = b2Vec2(0.0f,25.0f);

bodyDef.angularDamping = 0.5f;

bod = m_world->CreateBody(&bodyDef);
bod->CreateShape(&polyDef);
bod->SetMassFromShapes();

SetMassFromShapes は SetMassData(<#const b2MassData *data#>); に置き換えられました。

私の質問はです。古いBox2Dを使用して投稿されたコードを見て、どのようなデータを与える必要がありますか?

助けてください。

4

1 に答える 1

0

SetMassFromShapesは、 r13およびr25リビジョンでResetMassDataに置き換えられました。ただし、自動的に呼び出されるため、呼び出す必要はありません。r13の説明を見てください。

b2Body::SetMassFromShapesを削除しました。これで、b2Body :: CreateFixture/DestroyFixtureを呼び出すと質量が自動的に更新されます。これは、APIを単純化するために行われました。

于 2013-03-12T11:27:41.973 に答える