RevoluteJoint:

Код AS3:
public static function Soseeskee():void {
var i:int;
var sCount:int = 5; //Количество сосисок
var wd:Number = 5; //Ширина сосиски
var hd:Number = 10; //Длинна сосиски
var ratio:int = 30; //Боксовая константа
var bDef:b2BodyDef;
var bodyVec:Vector.<b2Body> = new Vector.<b2Body>;
var rj:b2RevoluteJointDef;
var j:b2Joint;
var shape:b2PolygonShape = new b2PolygonShape();
shape.SetAsBox(wd / ratio, hd / ratio);
var fix:b2FixtureDef = new b2FixtureDef();
fix.shape = shape;
fix.density = 1;
i = 0;
while (i < sCount) {
bDef = new b2BodyDef();
bDef.position = new b2Vec2(10 / ratio, (i * (hd - 1)) / ratio);
bDef.type = b2Body.b2_dynamicBody;
bodyVec[i] = world.CreateBody(bDef);//world - ваш мир, екземпляр b2World
bodyVec[i].CreateFixture(fix);
i++;
}
i = 0;
while (i < sCount - 1) {
rj = new b2RevoluteJointDef();
rj.Initialize(bodyVec[i], bodyVec[i + 1], new b2Vec2(10 / ratio, (i*(hd - 1)) / ratio));
j = world.CreateJoint(rj) as b2RevoluteJoint;
i++;
}
}