使用box2d创建复杂的形状

时间:2010-12-05 17:19:51

标签: fixtures box2d

我正在尝试在box2d中创建一个看起来像这样的主体:

http://www.tobyjones.com/3d/3d_rec.jpg

我打算创建一个水平矩形,并在水平矩形的每一端添加垂直矩形。

我想将它创建为一个单体,所以我的印象是我应该创建3个形状并使用夹具将它们附加到身体上,但是我无法看到我是如何将形状相对于体。

所以我的问题是,如何使用灯具将每个形状定位在身体内?

2 个答案:

答案 0 :(得分:1)

我相信你还需要为你添加的每个形状使用CreateShape()方法:

     bodyDef = new b2BodyDef();

     body = world.CreateBody(bodyDef);

     boxDef = new b2PolygonShape();
     boxDef.SetAsBox(5,1);

     body.CreateShape(boxDef);

     boxDef.SetAsBox( 1, 5, b2Vec2( -5,5), 0 );

     body.CreateShape(boxDef);

     boxDef.SetAsBox( 1, 5, b2Vec2( 5,-5), 0 );

     body.CreateShape(boxDef);

答案 1 :(得分:0)

//middle shape
polygonShape.SetAsBox( 5, 1 );

//left end shape
polygonShape.SetAsBox( 1, 5, b2Vec2(-5,-5), 0 );

//right end shape
polygonShape.SetAsBox( 1, 5, b2Vec2( 5,-5), 0 );