public override void initTest(bool deserialized) { if (deserialized) { return; } float y = 16.0f; float L = 12.0f; float a = 1.0f; float b = 2.0f; Body ground = null; { BodyDef bd = new BodyDef(); ground = getWorld().createBody(bd); EdgeShape shape = new EdgeShape(); shape.set(new Vec2(-40.0f, 0.0f), new Vec2(40.0f, 0.0f)); ground.createFixture(shape, 0.0f); CircleShape circle = new CircleShape(); circle.m_radius = 2.0f; circle.m_p.set(-10.0f, y + b + L); ground.createFixture(circle, 0.0f); circle.m_p.set(10.0f, y + b + L); ground.createFixture(circle, 0.0f); } { PolygonShape shape = new PolygonShape(); shape.setAsBox(a, b); BodyDef bd = new BodyDef(); bd.type = BodyType.DYNAMIC; bd.position.set(-10.0f, y); Body body1 = getWorld().createBody(bd); body1.createFixture(shape, 5.0f); bd.position.set(10.0f, y); Body body2 = getWorld().createBody(bd); body2.createFixture(shape, 5.0f); PulleyJointDef pulleyDef = new PulleyJointDef(); Vec2 anchor1 = new Vec2(-10.0f, y + b); Vec2 anchor2 = new Vec2(10.0f, y + b); Vec2 groundAnchor1 = new Vec2(-10.0f, y + b + L); Vec2 groundAnchor2 = new Vec2(10.0f, y + b + L); pulleyDef.initialize(body1, body2, groundAnchor1, groundAnchor2, anchor1, anchor2, 2.0f); m_joint1 = (PulleyJoint) getWorld().createJoint(pulleyDef); } }
public override void processJoint(Joint joint, long tag) { if (tag == JOINT_TAG) { m_joint1 = (PulleyJoint) joint; } else { base.processJoint(joint, tag); } }