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

项目: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 WheelJointDef read(Json json, JsonValue jsonData, Class type)
{   
    WheelJointDef defaults = RubeDefaults.Joint.wheelDef;

    WheelJointDef def = new WheelJointDef();

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

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

        def.enableMotor         = json.readValue("enableMotor",         boolean.class,  defaults.enableMotor,       jsonData);
        def.motorSpeed          = json.readValue("motorSpeed",          float.class,    defaults.motorSpeed,        jsonData);
        def.maxMotorTorque      = json.readValue("maxMotorTorque",      float.class,    defaults.maxMotorTorque,    jsonData);
        def.frequencyHz         = json.readValue("springFrequency",     float.class,    defaults.frequencyHz,       jsonData);
        def.dampingRatio        = json.readValue("springDampingRatio",  float.class,    defaults.dampingRatio,      jsonData);
    }

    return def; 
}
项目:flixel-gdx-box2d    文件:B2FlxWheelJoint.java   
/**
 * Creates the joint.
 * @return  This joint. Handy for chaining stuff together.
 */
@Override
public B2FlxWheelJoint create()
{
    ((WheelJointDef) jointDef).initialize(bodyA, bodyB, anchorA, _axis);
    joint = B2FlxB.world.createJoint(jointDef);
    return this;
}
项目:radial    文件:WheelJointConfig.java   
@Override
public JointDef createDef(Body sourceBody, Body targetBody, final Vector2 targetOffset) {
  WheelJointDef jointDef = new WheelJointDef() {{
    enableMotor = true;
    frequencyHz = suspensionFrequencyHz;
    dampingRatio = suspensionDampingRatio;
  }};

  Vector2 worldTarget = new Vector2(targetBody.getWorldCenter()).add(targetOffset);
  jointDef.initialize(sourceBody, targetBody, worldTarget, axisOfMovement);
  return jointDef;
}
项目:ZombieCopter    文件:GameEngine.java   
public void test_deserializeBug(Vector2 pos){
    /*
    Entity e = factory.build("jeep",pos);
    PhysicsComponent p = mappers.physics.get(e);
    WheelJoint j = (WheelJoint) p.getJoint("leftWheelJoint");
    logger.debug("Factory \n anchorA: " + j.getAnchorA() + "\n anchorB:" + j.getAnchorB() + " \n localAxis: "+ j.getLocalAxisA() + " \n damping: " + j.getSpringDampingRatio() + "\n frequency" + j.getSpringFrequencyHz());

    String data = factory.serialize(e);
    removeEntity(e);
    e = factory.deserialize(data);
    p = mappers.physics.get(e);
    j = (WheelJoint) p.getJoint("leftWheelJoint");
    logger.debug("Deserialized \n anchorA: " + j.getAnchorA() + "\n anchorB:" + j.getAnchorB() + " \n localAxis: "+ j.getLocalAxisA() + " \n damping: " + j.getSpringDampingRatio() + "\n frequency" + j.getSpringFrequencyHz());

    addEntity(e);
    */
    World world = App.engine.systems.physics.world;
    BodyDef bd = new BodyDef();
    bd.type = BodyType.DynamicBody;

    Body body = world.createBody(bd),
         wheel = world.createBody(bd);

    PolygonShape rect = new PolygonShape();
    rect.setAsBox(2, 1);
    CircleShape circle = new CircleShape();
    circle.setRadius(1);

    body.createFixture(rect,1);
    wheel.createFixture(circle,1);

    Vector2 localAnchor = new Vector2(0,0),
            localAxis = new Vector2(0,1);

    WheelJointDef jd = new WheelJointDef();
    jd.initialize(body, wheel, localAnchor , localAxis);
    WheelJoint joint = (WheelJoint)world.createJoint(jd);

    System.out.println("Local Axis = " + joint.getLocalAxisA());
    System.out.println("Local Anchor A = " + joint.getLocalAnchorA());

    //joint.getLocalAxisA() seems to be returning localAnchorA

}
项目:libgdx    文件:WorldGenerator.java   
/**
 * Genera un cuerpo con forma de caja
 * @param world El mundo
 * @param x Posici�n x
 * @param y Posici�n y
 * @return El cuerpo creado
 */
public static Body createCar(World world, float x, float y) {

    // Definici�n de los cuerpos que definen las 3 partes del coche
    // (Chasis y dos ruedas)
    BodyDef bodyDef = new BodyDef();
    bodyDef.type = BodyType.DynamicBody;
    bodyDef.position.set(x, y);

    // Crea lo que sera el cuerpo del chasis del coche
    Body chassis = world.createBody(bodyDef);

    // La forma del chasis
    PolygonShape box = new PolygonShape();
    box.setAsBox(30, 10);

    // Define las caracter�sticas del chasis
    FixtureDef chassisDef = new FixtureDef();
    // Forma del elemento f�sico
    chassisDef.shape = box;
    // Densidad (kg/m^2)
    chassisDef.density = 10f;
    // Coeficiente de fricci�n (0 - 1)
    chassisDef.friction = 0.4f;
    // Elasticidad (0 - 1)
    chassisDef.restitution = 0.2f;
    // A�ade el elemento f�sico al cuerpo del mundo 2D
    chassis.createFixture(chassisDef);

    // La forma de las ruedas
    CircleShape circle = new CircleShape();
    circle.setRadius(6f);

    // Define las caracter�sticas de las ruedas
    FixtureDef wheelFixture = new FixtureDef();
    wheelFixture.shape = circle;
    wheelFixture.density = 5f;
    wheelFixture.friction = 0.4f;
    wheelFixture.restitution = 0.7f;

    // Rueda izquierda
    Body leftWheel = world.createBody(bodyDef);
    leftWheel.createFixture(wheelFixture);

    // Rueda derecha
    Body rightWheel = world.createBody(bodyDef);
    rightWheel.createFixture(wheelFixture);

    // Une las ruedas a la carrocer�a con Joints
    WheelJointDef wheelJointDef = new WheelJointDef();
    wheelJointDef.bodyA = chassis;
    wheelJointDef.bodyB = leftWheel;
    // Suspensi�n (mayor valor m�s r�gida)
    wheelJointDef.frequencyHz = 2f;
    // Punto de uni�n con la carrocer�a
    wheelJointDef.localAnchorA.set(-30f / 2.5f, -20f / 2f);
    WheelJoint leftJoint = (WheelJoint) world.createJoint(wheelJointDef);

    // Para la uni�n de la otra rueda s�lo es necesario cambiar algunos par�metros
    // Los dem�s son iguales
    wheelJointDef.bodyB = rightWheel;
    wheelJointDef.localAnchorA.x *= -1;
    WheelJoint rightJoint = (WheelJoint) world.createJoint(wheelJointDef);

    box.dispose();
    circle.dispose();

    return chassis;
}
项目:GDX-Logic-Bricks    文件:WheelJointBuilder.java   
@Override
public void reset() {
    jointDef = new WheelJointDef();

}
项目:flixel-gdx-box2d    文件:B2FlxWheelJoint.java   
public B2FlxWheelJoint setEnableMotor(boolean enableMotor)
{
    ((WheelJointDef)jointDef).enableMotor = enableMotor;
    return this;
}
项目:flixel-gdx-box2d    文件:B2FlxWheelJoint.java   
public B2FlxWheelJoint setMotorSpeed(float motorSpeed)
{
    ((WheelJointDef)jointDef).motorSpeed = motorSpeed;
    return this;
}
项目:flixel-gdx-box2d    文件:B2FlxWheelJoint.java   
public B2FlxWheelJoint setMaxMotorTorque(float maxMotorTorque)
{
    ((WheelJointDef)jointDef).maxMotorTorque = maxMotorTorque;
    return this;
}
项目:flixel-gdx-box2d    文件:B2FlxWheelJoint.java   
public B2FlxWheelJoint setFrequencyHz(float frequencyHz)
{
    ((WheelJointDef)jointDef).frequencyHz = frequencyHz;
    return this;
}
项目:flixel-gdx-box2d    文件:B2FlxWheelJoint.java   
public B2FlxWheelJoint setDampingRatio(float dampingRatio)
{
    ((WheelJointDef)jointDef).dampingRatio = dampingRatio;
    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    文件:B2FlxWheelJoint.java   
/**
 * Create a wheel joint.
 * @param spriteA   The first body.
 * @param spriteB   The second body.
 * @param jointDef  The joint definition.
 */
public B2FlxWheelJoint(B2FlxShape spriteA, B2FlxShape spriteB, WheelJointDef jointDef)
{
    super(spriteA, spriteB, jointDef);
}