예제 #1
0
        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);
            }
        }
예제 #2
0
 public override void processJoint(Joint joint, long tag)
 {
     if (tag == JOINT_TAG)
     {
         m_joint1 = (PulleyJoint) joint;
     }
     else
     {
         base.processJoint(joint, tag);
     }
 }