BipedTest() { const float k_restitution = 1.4f; { BodyDef bd = new BodyDef(); bd.Position.Set(0.0f, 20.0f); Body body = _world.CreateBody(bd); PolygonDef sd = new PolygonDef(); sd.Density = 0.0f; sd.Restitution = k_restitution; sd.SetAsBox(0.1f, 10.0f, new Vec2(-10.0f, 0.0f), 0.0f); body.CreateShape(sd); sd.SetAsBox(0.1f, 10.0f, new Vec2(10.0f, 0.0f), 0.0f); body.CreateShape(sd); sd.SetAsBox(0.1f, 10.0f, new Vec2(0.0f, -10.0f), 0.5f * Box2DX.Common.Settings.Pi); body.CreateShape(sd); sd.SetAsBox(0.1f, 10.0f, new Vec2(0.0f, 10.0f), -0.5f * Box2DX.Common.Settings.Pi); body.CreateShape(sd); } _biped = new Biped(_world, new Vec2(0.0f, 20.0f)); for (int i = 0; i < 8; ++i) { BodyDef bd = new BodyDef(); bd.Position.Set(5.0f, 20.0f + i); bd.IsBullet = true; Body body = _world.CreateBody(bd); body.SetLinearVelocity(new Vec2(0.0f, -100.0f)); body.SetAngularVelocity(Box2DX.Common.Math.Random(-50.0f, 50.0f)); CircleDef sd = new CircleDef(); sd.Radius = 0.25f; sd.Density = 15.0f; sd.Restitution = k_restitution; body.CreateShape(sd); body.SetMassFromShapes(); } }