b2Body* foundation =[self createStaticBodyAtLocation:CGPointMake(15, 15) withSize:CGSizeMake(35, 35)];
b2Body* beam=[self createDynamicBodyAtLocation:CGPointMake(105, 35) withSize:CGSizeMake(150, 10)];
b2RevoluteJointDef revoluteJointDef;
revoluteJointDef.Initialize(foundation, beam, b2Vec2(30.0/PTM_RATIO,30.0/PTM_RATIO));
_world->CreateJoint(&revoluteJointDef);
上面的代码创建一个静态和动态物体,然后用一个旋转连接将它们连接起来。下面是我得到:是否可以将身体从两侧连接到不同的静态物体
然后我添加以下代码行添加另一个身体,这是一个静态的圆,然后加入圈子和酒吧的另一端先前添加的吧。
b2Body *jointBall=[self createCircleAtLocation:CGPointMake(160, 135)];
revoluteJointDef.Initialize(jointBall, beam, b2Vec2(100.0/PTM_RATIO,10.0/PTM_RATIO));
_world->CreateJoint(&revoluteJointDef);
但这里是我得到:
加入圈子后,我动不了了吧。它是固定的。但我希望它能加入这个圈子。我试图将锚点更改为不同的位置,但它没有帮助。我错过了什么?也许不可能将动态主体连接到多个静态主体。