Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [...]
- gravity := box2d.MakeB2Vec2(0.0, -10.0)
- b2World := box2d.MakeB2World(gravity)
- var body1 *box2d.B2Body
- var body2 *box2d.B2Body
- var body3 *box2d.B2Body
- {
- // Body 1
- bd := box2d.MakeB2BodyDef()
- bd.Position.Set(5, 4)
- bd.Type = box2d.B2BodyType.B2_staticBody
- body1 = b2World.CreateBody(&bd)
- shape := box2d.MakeB2CircleShape()
- shape.M_radius = 0.5
- fd := box2d.MakeB2FixtureDef()
- fd.Shape = &shape
- fd.Density = 10.0
- body1.CreateFixtureFromDef(&fd)
- }
- {
- // Body 2
- bd := box2d.MakeB2BodyDef()
- bd.Position.Set(5, 6)
- bd.Type = box2d.B2BodyType.B2_dynamicBody
- bd.FixedRotation = true
- body2 = b2World.CreateBody(&bd)
- shape := box2d.MakeB2CircleShape()
- shape.M_radius = 0.5
- fd := box2d.MakeB2FixtureDef()
- fd.Shape = &shape
- fd.Density = 10.0
- body2.CreateFixtureFromDef(&fd)
- }
- {
- // weld joint
- w := box2d.MakeB2WeldJointDef()
- w.BodyA = body1
- w.BodyA.SetFixedRotation(false)
- w.BodyB = body2
- w.BodyB.SetFixedRotation(false)
- w.LocalAnchorA = box2d.MakeB2Vec2(0, 2)
- w.LocalAnchorB = box2d.MakeB2Vec2(0, 0)
- w.FrequencyHz = 4.0
- w.DampingRatio = 0.5
- b2World.CreateJoint(&w)
- }
- {
- bd := box2d.MakeB2BodyDef()
- bd.Position.Set(5.4, 9.0)
- bd.Type = box2d.B2BodyType.B2_dynamicBody
- body3 = b2World.CreateBody(&bd)
- shape := box2d.MakeB2CircleShape()
- shape.M_radius = 0.5
- fd := box2d.MakeB2FixtureDef()
- fd.Shape = &shape
- fd.Density = 10
- body3.CreateFixtureFromDef(&fd)
- }
- [...]
- b2World.Step(1/60.0, 8, 3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement