Java 类com.badlogic.gdx.physics.box2d.joints.PrismaticJointDef 实例源码

项目:cgc-game    文件:BodyFactory.java   
private Joint createPrismaticJoint(Body anchor, Body car, Vector2 start) 
{
    PrismaticJointDef pjd = new PrismaticJointDef();

    pjd.bodyA = anchor;
    pjd.bodyB = car;
    pjd.collideConnected = false;
    pjd.enableLimit = true;

    pjd.localAnchorA.set(start);
    pjd.localAnchorB.set(Vector2.Zero);

    pjd.localAxisA.set(-1,0);
    pjd.lowerTranslation = -150;
    pjd.upperTranslation = 150;

    pjd.maxMotorForce = 0;
    pjd.motorSpeed = 0;
    pjd.enableMotor = false;

    return world.createJoint(pjd);
}
项目:RubeLoader    文件:JointSerializer.java   
public JointSerializer(RubeScene scene,Json _json)
{
    this.scene = scene;
    _json.setSerializer(RevoluteJointDef.class,     new RevoluteJointDefSerializer());
    _json.setSerializer(PrismaticJointDef.class,    new PrismaticJointDefSerializer());
    _json.setSerializer(PulleyJointDef.class,       new PulleyJointDefSerializer());
    _json.setSerializer(WeldJointDef.class,         new WeldJointDefSerializer());
    _json.setSerializer(FrictionJointDef.class,     new FrictionJointDefSerializer());
    _json.setSerializer(WheelJointDef.class,        new WheelJointDefSerializer());
    _json.setSerializer(RopeJointDef.class,         new RopeJointDefSerializer());
    _json.setSerializer(DistanceJointDef.class,     new DistanceJointDefSerializer());
    _json.setSerializer(GearJointDef.class,         new GearJointDefSerializer());

    mouseJointDefSerializer = new MouseJointDefSerializer();

    _json.setSerializer(MouseJointDef.class,        mouseJointDefSerializer);
}
项目:RubeLoader    文件:JointSerializer.java   
@SuppressWarnings("rawtypes")
@Override
public PrismaticJointDef read(Json json, JsonValue jsonData, Class type)
{   
    PrismaticJointDef defaults = RubeDefaults.Joint.prismaticDef;

    PrismaticJointDef def = new PrismaticJointDef();

    Vector2 anchorA = json.readValue("anchorA", Vector2.class, defaults.localAnchorA, jsonData);
    Vector2 anchorB = json.readValue("anchorB", Vector2.class, defaults.localAnchorB, jsonData);

    if(anchorA != null && anchorB != null)
    {
        def.localAnchorA.set(anchorA);
        def.localAnchorB.set(anchorB);

        Vector2 localAxis = json.readValue("localAxisA", Vector2.class, defaults.localAxisA, jsonData);
        if(localAxis == null)
            localAxis = json.readValue("localAxis1", Vector2.class, defaults.localAxisA, jsonData);
        if(localAxis!=null)
            def.localAxisA.set(localAxis);

        def.referenceAngle      = json.readValue("refAngle",        float.class,    defaults.referenceAngle,    jsonData);
        def.enableLimit         = json.readValue("enableLimit",     boolean.class,  defaults.enableLimit,       jsonData);
        def.lowerTranslation    = json.readValue("lowerLimit",      float.class,    defaults.lowerTranslation,  jsonData);
        def.upperTranslation    = json.readValue("upperLimit",      float.class,    defaults.upperTranslation,  jsonData);
        def.enableMotor         = json.readValue("enableMotor",     boolean.class,  defaults.enableMotor,       jsonData);
        def.motorSpeed          = json.readValue("motorSpeed",      float.class,    defaults.motorSpeed,        jsonData);
        def.maxMotorForce       = json.readValue("maxMotorForce",   float.class,    defaults.maxMotorForce,     jsonData);
    }

    return def; 
}
项目:flixel-gdx-box2d    文件:B2FlxPrismaticJoint.java   
/**
 * Creates the joint.
 */
@Override
public B2FlxPrismaticJoint create()
{
    ((PrismaticJointDef) jointDef).initialize(bodyA, bodyB, anchorA, _axis);
    joint = B2FlxB.world.createJoint(jointDef);
    return this;
}
项目:radial    文件:PrismaticJointConfig.java   
@Override
public JointDef createDef(Body sourceBody, Body targetBody, final Vector2 targetOffset) {
  PrismaticJointDef jointDef = new PrismaticJointDef() {{
    enableLimit = true;
    enableMotor = true;
    lowerTranslation = PrismaticJointConfig.this.lowerTranslation;
    upperTranslation = PrismaticJointConfig.this.upperTranslation;
  }};

  Vector2 worldTarget = new Vector2(targetBody.getWorldCenter()).add(targetOffset);
  jointDef.initialize(sourceBody, targetBody, worldTarget, axisOfMovement);
  return jointDef;
}
项目:GDX-Logic-Bricks    文件:PrismaticJointBuilder.java   
@Override
public void reset() {
    jointDef = new PrismaticJointDef();

}
项目:evilrain    文件:Trigger.java   
@Override
public void createPhysicsActor(ParticleSystem particleSystem, World physicsWorld) {
    super.createPhysicsActor(particleSystem, physicsWorld);
    pos.sub(getWidth() / 2, getHeight() / 2);

    PolygonShape polygonShape = new PolygonShape();
    polygonShape.setAsBox(getPhysicsWidth() / 2, getPhysicsHeight() / 2.4f,
            new Vector2(0, getPhysicsHeight() / -15f), 0);

    offset.set(-getWidth() / 2, -getHeight() / 2);
    sprite.setOrigin(getWidth() / 2, getHeight() / 2);

    FixtureDef fixtureDef = new FixtureDef();
    fixtureDef.shape = polygonShape;
    fixtureDef.density = 1;
    fixtureDef.friction = 10.4f;

    BodyDef bodyDef = new BodyDef();
    bodyDef.position.set(pos.cpy().scl(GameWorld.WORLD_TO_BOX));
    bodyDef.type = bodyType != null ? bodyType : BodyDef.BodyType.DynamicBody;
    body = physicsWorld.createBody(bodyDef);
    body.createFixture(fixtureDef);
    body.resetMassData();

    polygonShape.dispose();

    polygonShape = new PolygonShape();
    polygonShape.setAsBox(getPhysicsWidth() / 3, getPhysicsHeight() / 20f);

    offset.set(-getWidth() / 2, -getHeight() / 2);
    sprite.setOrigin(getWidth() / 2, getHeight() / 2);

    fixtureDef = new FixtureDef();
    fixtureDef.shape = polygonShape;
    fixtureDef.density = 1;
    fixtureDef.friction = 10.4f;

    bodyDef = new BodyDef();
    bodyDef.position.set(pos.cpy().add(0, getHeight() / 2.5f).scl(GameWorld.WORLD_TO_BOX));
    bodyDef.type = BodyDef.BodyType.DynamicBody;
    topBody = physicsWorld.createBody(bodyDef);
    topBody.createFixture(fixtureDef);
    topBody.resetMassData();

    polygonShape.dispose();

    PrismaticJointDef jointDef = new PrismaticJointDef();
    jointDef.initialize(body, topBody,
            pos.cpy().scl(GameWorld.WORLD_TO_BOX), new Vector2(0.0f, 1.0f));
    jointDef.enableLimit = true;
    jointDef.upperTranslation = 0.02f;
    //jointDef.referenceAngle = 1;
    jointDef.collideConnected = true;
    jointDef.enableMotor = true;
    jointDef.motorSpeed = 2f;
    jointDef.maxMotorForce = 2f;
    distanceJoint = (PrismaticJoint)physicsWorld.createJoint(jointDef);

    setRotation(rot);
}
项目:flixel-gdx-box2d    文件:B2FlxPrismaticJoint.java   
public B2FlxPrismaticJoint setEnableLimit(boolean enableLimit)
{
    ((PrismaticJointDef)jointDef).enableLimit = enableLimit;
    return this;
}
项目:flixel-gdx-box2d    文件:B2FlxPrismaticJoint.java   
public B2FlxPrismaticJoint setEnableMotor(boolean enableMotor)
{
    ((PrismaticJointDef)jointDef).enableMotor = enableMotor;
    return this;
}
项目:flixel-gdx-box2d    文件:B2FlxPrismaticJoint.java   
public B2FlxPrismaticJoint setMotorSpeed(float motorSpeed)
{
    ((PrismaticJointDef)jointDef).motorSpeed = motorSpeed;
    return this;
}
项目:flixel-gdx-box2d    文件:B2FlxPrismaticJoint.java   
public B2FlxPrismaticJoint setMaxMotorForce(float maxMotorForce)
{
    ((PrismaticJointDef)jointDef).maxMotorForce = maxMotorForce;
    return this;
}
项目:flixel-gdx-box2d    文件:B2FlxPrismaticJoint.java   
public B2FlxPrismaticJoint setUpperTranslation(float upperTranslation)
{
    ((PrismaticJointDef)jointDef).upperTranslation = upperTranslation;
    return this;
}
项目:flixel-gdx-box2d    文件:B2FlxPrismaticJoint.java   
public B2FlxPrismaticJoint setLowerTranslation(float lowerTranslation)
{
    ((PrismaticJointDef)jointDef).lowerTranslation = lowerTranslation;
    return this;
}
项目:ingress-indonesia-dev    文件:World.java   
private long createProperJoint(JointDef paramJointDef)
{
  if (paramJointDef.type == JointDef.JointType.DistanceJoint)
  {
    DistanceJointDef localDistanceJointDef = (DistanceJointDef)paramJointDef;
    return jniCreateDistanceJoint(this.addr, localDistanceJointDef.bodyA.addr, localDistanceJointDef.bodyB.addr, localDistanceJointDef.collideConnected, localDistanceJointDef.localAnchorA.x, localDistanceJointDef.localAnchorA.y, localDistanceJointDef.localAnchorB.x, localDistanceJointDef.localAnchorB.y, localDistanceJointDef.length, localDistanceJointDef.frequencyHz, localDistanceJointDef.dampingRatio);
  }
  if (paramJointDef.type == JointDef.JointType.FrictionJoint)
  {
    FrictionJointDef localFrictionJointDef = (FrictionJointDef)paramJointDef;
    return jniCreateFrictionJoint(this.addr, localFrictionJointDef.bodyA.addr, localFrictionJointDef.bodyB.addr, localFrictionJointDef.collideConnected, localFrictionJointDef.localAnchorA.x, localFrictionJointDef.localAnchorA.y, localFrictionJointDef.localAnchorB.x, localFrictionJointDef.localAnchorB.y, localFrictionJointDef.maxForce, localFrictionJointDef.maxTorque);
  }
  if (paramJointDef.type == JointDef.JointType.GearJoint)
  {
    GearJointDef localGearJointDef = (GearJointDef)paramJointDef;
    return jniCreateGearJoint(this.addr, localGearJointDef.bodyA.addr, localGearJointDef.bodyB.addr, localGearJointDef.collideConnected, localGearJointDef.joint1.addr, localGearJointDef.joint2.addr, localGearJointDef.ratio);
  }
  if (paramJointDef.type == JointDef.JointType.MouseJoint)
  {
    MouseJointDef localMouseJointDef = (MouseJointDef)paramJointDef;
    return jniCreateMouseJoint(this.addr, localMouseJointDef.bodyA.addr, localMouseJointDef.bodyB.addr, localMouseJointDef.collideConnected, localMouseJointDef.target.x, localMouseJointDef.target.y, localMouseJointDef.maxForce, localMouseJointDef.frequencyHz, localMouseJointDef.dampingRatio);
  }
  if (paramJointDef.type == JointDef.JointType.PrismaticJoint)
  {
    PrismaticJointDef localPrismaticJointDef = (PrismaticJointDef)paramJointDef;
    return jniCreatePrismaticJoint(this.addr, localPrismaticJointDef.bodyA.addr, localPrismaticJointDef.bodyB.addr, localPrismaticJointDef.collideConnected, localPrismaticJointDef.localAnchorA.x, localPrismaticJointDef.localAnchorA.y, localPrismaticJointDef.localAnchorB.x, localPrismaticJointDef.localAnchorB.y, localPrismaticJointDef.localAxisA.x, localPrismaticJointDef.localAxisA.y, localPrismaticJointDef.referenceAngle, localPrismaticJointDef.enableLimit, localPrismaticJointDef.lowerTranslation, localPrismaticJointDef.upperTranslation, localPrismaticJointDef.enableMotor, localPrismaticJointDef.maxMotorForce, localPrismaticJointDef.motorSpeed);
  }
  if (paramJointDef.type == JointDef.JointType.PulleyJoint)
  {
    PulleyJointDef localPulleyJointDef = (PulleyJointDef)paramJointDef;
    return jniCreatePulleyJoint(this.addr, localPulleyJointDef.bodyA.addr, localPulleyJointDef.bodyB.addr, localPulleyJointDef.collideConnected, localPulleyJointDef.groundAnchorA.x, localPulleyJointDef.groundAnchorA.y, localPulleyJointDef.groundAnchorB.x, localPulleyJointDef.groundAnchorB.y, localPulleyJointDef.localAnchorA.x, localPulleyJointDef.localAnchorA.y, localPulleyJointDef.localAnchorB.x, localPulleyJointDef.localAnchorB.y, localPulleyJointDef.lengthA, localPulleyJointDef.lengthB, localPulleyJointDef.ratio);
  }
  if (paramJointDef.type == JointDef.JointType.RevoluteJoint)
  {
    RevoluteJointDef localRevoluteJointDef = (RevoluteJointDef)paramJointDef;
    return jniCreateRevoluteJoint(this.addr, localRevoluteJointDef.bodyA.addr, localRevoluteJointDef.bodyB.addr, localRevoluteJointDef.collideConnected, localRevoluteJointDef.localAnchorA.x, localRevoluteJointDef.localAnchorA.y, localRevoluteJointDef.localAnchorB.x, localRevoluteJointDef.localAnchorB.y, localRevoluteJointDef.referenceAngle, localRevoluteJointDef.enableLimit, localRevoluteJointDef.lowerAngle, localRevoluteJointDef.upperAngle, localRevoluteJointDef.enableMotor, localRevoluteJointDef.motorSpeed, localRevoluteJointDef.maxMotorTorque);
  }
  if (paramJointDef.type == JointDef.JointType.WeldJoint)
  {
    WeldJointDef localWeldJointDef = (WeldJointDef)paramJointDef;
    return jniCreateWeldJoint(this.addr, localWeldJointDef.bodyA.addr, localWeldJointDef.bodyB.addr, localWeldJointDef.collideConnected, localWeldJointDef.localAnchorA.x, localWeldJointDef.localAnchorA.y, localWeldJointDef.localAnchorB.x, localWeldJointDef.localAnchorB.y, localWeldJointDef.referenceAngle);
  }
  if (paramJointDef.type == JointDef.JointType.RopeJoint)
  {
    RopeJointDef localRopeJointDef = (RopeJointDef)paramJointDef;
    return jniCreateRopeJoint(this.addr, localRopeJointDef.bodyA.addr, localRopeJointDef.bodyB.addr, localRopeJointDef.collideConnected, localRopeJointDef.localAnchorA.x, localRopeJointDef.localAnchorA.y, localRopeJointDef.localAnchorB.x, localRopeJointDef.localAnchorB.y, localRopeJointDef.maxLength);
  }
  if (paramJointDef.type == JointDef.JointType.WheelJoint)
  {
    WheelJointDef localWheelJointDef = (WheelJointDef)paramJointDef;
    return jniCreateWheelJoint(this.addr, localWheelJointDef.bodyA.addr, localWheelJointDef.bodyB.addr, localWheelJointDef.collideConnected, localWheelJointDef.localAnchorA.x, localWheelJointDef.localAnchorA.y, localWheelJointDef.localAnchorB.x, localWheelJointDef.localAnchorB.y, localWheelJointDef.localAxisA.x, localWheelJointDef.localAxisA.y, localWheelJointDef.enableMotor, localWheelJointDef.maxMotorTorque, localWheelJointDef.motorSpeed, localWheelJointDef.frequencyHz, localWheelJointDef.dampingRatio);
  }
  return 0L;
}
项目:flixel-gdx-box2d    文件:B2FlxPrismaticJoint.java   
/**
 * Creates a prismatic joint.
 * @param spriteA   The first body.
 * @param spriteB   The second body.
 * @param jointDef  The joint definition.
 */
public B2FlxPrismaticJoint(B2FlxShape spriteA, B2FlxShape spriteB, PrismaticJointDef jointDef)
{
    super(spriteA, spriteB, jointDef);
}