protected override void Init(World world) { Body body1 = new StaticBody("Ground1", new Box(500.0f, 20.0f)); body1.SetPosition(250.0f, 400); world.Add(body1); Body body2 = new Body("Teeter", new Box(250.0f, 10.0f), 5); body2.Friction = 0.5f; body2.SetPosition(250.0f, 370); world.Add(body2); Body body3 = new Body("light1", new Box(10.0f, 10.0f), 10); body3.SetPosition(135, 360); world.Add(body3); Body body4 = new Body("light2", new Box(10.0f, 10.0f), 10); body4.SetPosition(150, 360); world.Add(body4); Body body5 = new Body("weight", new Box(25.0f, 25.0f), 30); body5.SetPosition(350, 50); world.Add(body5); BasicJoint j = new BasicJoint(body1, body2, new Vector2f(250, 370)); world.Add(j); }
/// <summary> Create a new joint /// /// </summary> /// <param name="body1">The first body jointed /// </param> /// <param name="body2">The second body jointed /// </param> /// <param name="anchor">The anchor point for the underlying basic joint /// </param> /// <param name="Distance">The Distance the bodies must be apart before force is applied /// </param> public ConstrainingJoint(Body body1, Body body2, Vector2f anchor, float distance) { this.distance = distance; this.body1 = body1; this.body2 = body2; realJoint = new BasicJoint(body1, body2, anchor); }
protected override void Init(World world) { Body body1 = new StaticBody("Ground1", new Box(400.0f, 20.0f)); body1.SetPosition(250.0f, 400); world.Add(body1); Body body3 = new StaticBody("Ground2", new Box(200.0f, 20.0f)); body3.SetPosition(250.0f, 100); world.Add(body3); Body swing = new Body("Swing", new Circle(10), 50); swing.SetPosition(160.0f, 300); world.Add(swing); Body swing2 = new Body("Swing", new Circle(10), 50); swing2.SetPosition(340.0f, 300); world.Add(swing2); Body swing3 = new Body("Swing", new Box(250.0f, 10.0f), 50); swing3.SetPosition(250.0f, 285); swing3.Friction = 4.0f; world.Add(swing3); Body box = new Body("Resting", new Box(30, 30), 1); box.SetPosition(250.0f, 200); box.Rotation = 0.15f; world.Add(box); BasicJoint j1 = new BasicJoint(body3, swing, new Vector2f(160, 110)); world.Add(j1); BasicJoint j2 = new BasicJoint(body3, swing2, new Vector2f(340, 110)); world.Add(j2); BasicJoint j3 = new BasicJoint(swing, swing3, new Vector2f(160, 300)); world.Add(j3); BasicJoint j4 = new BasicJoint(swing2, swing3, new Vector2f(340, 300)); world.Add(j4); swing.AdjustVelocity(new Vector2f(-100, 0)); }
/// <summary> Reconfigure this joint /// /// </summary> /// <param name="b1">The first body attached to this joint /// </param> /// <param name="b2">The second body attached to this joint /// </param> public virtual void Reconfigure(Body b1, Body b2) { body1 = b1; body2 = b2; joint1 = new BasicJoint(b1, b2, new Vector2f(b1.GetPosition())); joint2 = new BasicJoint(b2, b1, new Vector2f(b2.GetPosition())); }
protected override void Init(World world) { Body body; BasicJoint j; Body ground1 = new StaticBody("Ground1", new Box(500.0f, 20.0f)); ground1.SetPosition(250.0f, 400); world.Add(ground1); body = new StaticBody("Ground2", new Box(250.0f, 20.0f)); body.SetPosition(225.0f, 200); body.Friction = 3.0f; world.Add(body); // pendulum body = new StaticBody("Pen1", new Box(20.0f, 20.0f)); body.SetPosition(70.0f, 100); world.Add(body); ball = new Body("Ball", new Box(10.0f, 10.0f), 1000); ball.SetPosition(70.0f, 170); world.Add(ball); j = new BasicJoint(body, ball, new Vector2f(70, 110)); world.Add(j); // dominos for (int i = 0; i < 8; i++) { body = new Body("Domino " + i, new Box(10.0f, 40.0f), 10 - i); body.SetPosition(120.0f + (i * 30), 170); world.Add(body); } // ramp body = new StaticBody("Ground2", new Box(200.0f, 10.0f)); body.SetPosition(345.0f, 270); body.Rotation = -0.6f; body.Friction = 0; world.Add(body); // teeter body = new Body("Teete", new Box(250.0f, 10.0f), 10); body.SetPosition(250.0f, 360); //body.setFriction(3.0f); world.Add(body); j = new BasicJoint(body, ground1, new Vector2f(250, 360)); world.Add(j); // turner body = new Body("Turner", new Box(40.0f, 40.0f), 0.1f); body.SetPosition(390.0f, 330); body.Friction = 0f; world.Add(body); j = new BasicJoint(ground1, body, new Vector2f(390, 335)); world.Add(j); Body top = new Body("Top", new Box(40.0f, 5.0f), 0.01f); top.SetPosition(390.0f, 307.5f); top.Friction = 0f; world.Add(top); j = new BasicJoint(top, body, new Vector2f(410, 310)); world.Add(j); }