我正在尝试在 box2d 中创建一个如下所示的主体:
http://www.tobyjones.com/3d/3d_rec.jpg
我要创建一个水平矩形并在水平矩形的每一端添加垂直矩形。
我想将它创建为一个单一的身体,所以我的印象是我应该创建 3 个形状并使用固定装置将它们附加到身体上,但是我看不出我是如何相对于身体定位形状的。
所以我的问题是,我如何使用固定装置将每个形状定位在体内?
我正在尝试在 box2d 中创建一个如下所示的主体:
http://www.tobyjones.com/3d/3d_rec.jpg
我要创建一个水平矩形并在水平矩形的每一端添加垂直矩形。
我想将它创建为一个单一的身体,所以我的印象是我应该创建 3 个形状并使用固定装置将它们附加到身体上,但是我看不出我是如何相对于身体定位形状的。
所以我的问题是,我如何使用固定装置将每个形状定位在体内?
我相信您还需要为添加的每个形状使用 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);
//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 );