Example usage for com.badlogic.gdx.math Vector2 Vector2

List of usage examples for com.badlogic.gdx.math Vector2 Vector2

Introduction

In this page you can find the example usage for com.badlogic.gdx.math Vector2 Vector2.

Prototype

public Vector2(float x, float y) 

Source Link

Document

Constructs a vector with the given components

Usage

From source file:com.badlogic.gdx.tests.box2d.OneSidedPlatform.java

License:Apache License

@Override
protected void createWorld(World world) {
    {//from   w ww.j a  va2  s.co m
        BodyDef bd = new BodyDef();
        Body ground = world.createBody(bd);

        EdgeShape shape = new EdgeShape();
        shape.set(new Vector2(-20.0f, 0), new Vector2(20.0f, 0f));
        ground.createFixture(shape, 0);
        shape.dispose();
    }

    {
        BodyDef bd = new BodyDef();
        bd.position.set(0, 10);
        Body body = world.createBody(bd);

        PolygonShape shape = new PolygonShape();
        shape.setAsBox(3, 0.5f);
        m_platform = body.createFixture(shape, 0);
        m_bottom = 10.0f - 0.5f;
        m_top = 10.0f + 0.5f;
    }

    {
        BodyDef bd = new BodyDef();
        bd.type = BodyType.DynamicBody;
        bd.position.set(0, 12);
        Body body = world.createBody(bd);

        m_radius = 0.5f;
        CircleShape shape = new CircleShape();
        shape.setRadius(m_radius);
        m_character = body.createFixture(shape, 20.0f);
        shape.dispose();

        m_state = State.Unknown;
    }

    world.setContactFilter(new ContactFilter() {

        @Override
        public boolean shouldCollide(Fixture fixtureA, Fixture fixtureB) {
            if ((fixtureA == m_platform && fixtureB == m_character)
                    || (fixtureA == m_platform && fixtureB == m_character)) {
                Vector2 position = m_character.getBody().getPosition();
                if (position.y < m_top + m_radius - 3.0f * 0.005f)
                    return false;
                else
                    return true;
            } else
                return true;
        }

    });
}

From source file:com.badlogic.gdx.tests.box2d.PhysicalCell.java

public void applyForce(int i, int j, Vector2 force) {
    bodies[i][j].applyForce(force, new Vector2(0, 0));
}

From source file:com.badlogic.gdx.tests.box2d.PhysicalCell.java

public void applyLinearImpulse(int i, int j, Vector2 force) {
    bodies[i][j].applyLinearImpulse(force, new Vector2(0, 0));
}

From source file:com.badlogic.gdx.tests.box2d.Prismatic.java

License:Apache License

@Override
protected void createWorld(World world) {
    Body ground;/* w  w  w  .  j  a va 2s.com*/

    {
        BodyDef bd = new BodyDef();
        ground = world.createBody(bd);
        EdgeShape shape = new EdgeShape();
        shape.set(new Vector2(-40, 0), new Vector2(40, 0));
        ground.createFixture(shape, 0);
        shape.dispose();
    }

    {
        PolygonShape shape = new PolygonShape();
        shape.setAsBox(2, 5);

        BodyDef bd = new BodyDef();
        bd.type = BodyType.DynamicBody;
        bd.position.set(-10, 10);
        bd.angle = 0.5f * (float) Math.PI;
        bd.allowSleep = false;

        Body body = world.createBody(bd);
        body.createFixture(shape, 5.0f);

        PrismaticJointDef pjd = new PrismaticJointDef();

        Vector2 axis = new Vector2(2, 1);
        axis.nor();
        pjd.initialize(ground, body, new Vector2(0, 0), axis);

        pjd.motorSpeed = 10.0f;
        pjd.maxMotorForce = 10000.0f;
        pjd.enableMotor = true;
        pjd.lowerTranslation = 0;
        pjd.upperTranslation = 20.0f;
        pjd.enableLimit = true;

        m_joint = (PrismaticJoint) world.createJoint(pjd);
    }
}

From source file:com.badlogic.gdx.tests.box2d.Pyramid.java

License:Apache License

@Override
protected void createWorld(World world) {
    {/*  ww  w  .  ja  v a 2 s . c  o m*/
        BodyDef bd = new BodyDef();
        Body ground = world.createBody(bd);

        EdgeShape shape = new EdgeShape();
        shape.set(new Vector2(-40, 0), new Vector2(40, 0));
        ground.createFixture(shape, 0.0f);
        shape.dispose();
    }

    {
        float a = 0.5f;
        PolygonShape shape = new PolygonShape();
        shape.setAsBox(a, a);

        Vector2 x = new Vector2(-7.0f, 0.75f);
        Vector2 y = new Vector2();
        Vector2 deltaX = new Vector2(0.5625f, 1.25f);
        Vector2 deltaY = new Vector2(1.125f, 0.0f);

        for (int i = 0; i < 20; i++) {
            y.set(x);

            for (int j = i; j < 20; j++) {
                BodyDef bd = new BodyDef();
                bd.type = BodyType.DynamicBody;
                bd.position.set(y);
                Body body = world.createBody(bd);
                body.createFixture(shape, 5.0f);

                y.add(deltaY);
            }

            x.add(deltaX);
        }

    }
}

From source file:com.badlogic.gdx.tests.box2d.SphereStack.java

License:Apache License

@Override
protected void createWorld(World world) {
    {/*from w ww  .  j a v  a  2 s . c o  m*/
        BodyDef bd = new BodyDef();
        Body ground = world.createBody(bd);

        EdgeShape shape = new EdgeShape();
        shape.set(new Vector2(-40, 0), new Vector2(40, 0));
        ground.createFixture(shape, 0);
        shape.dispose();
    }

    {
        CircleShape shape = new CircleShape();
        shape.setRadius(1.0f);

        for (int i = 0; i < e_count; i++) {
            BodyDef bd = new BodyDef();
            bd.type = BodyType.DynamicBody;
            bd.position.set(0, 4.0f + 3.0f * i);
            Body body = world.createBody(bd);
            body.createFixture(shape, 1.0f);
        }

        shape.dispose();
    }

}

From source file:com.badlogic.gdx.tests.box2d.VaryingRestitution.java

License:Apache License

@Override
protected void createWorld(World world) {
    {//from www . j av a 2s  .  c o m
        BodyDef bd = new BodyDef();
        Body ground = world.createBody(bd);

        EdgeShape shape = new EdgeShape();
        shape.set(new Vector2(-40, 0), new Vector2(40, 0));
        ground.createFixture(shape, 0.0f);
        shape.dispose();
    }

    {
        CircleShape shape = new CircleShape();
        shape.setRadius(1);

        FixtureDef fd = new FixtureDef();
        fd.shape = shape;
        fd.density = 1.0f;

        float restitution[] = { 0, 0.1f, 0.3f, 0.5f, 0.75f, 0.9f, 1.0f };

        for (int i = 0; i < restitution.length; i++) {
            BodyDef bd = new BodyDef();
            bd.type = BodyType.DynamicBody;
            bd.position.set(-10.0f + 3.0f * i, 20.0f);

            Body body = world.createBody(bd);
            fd.restitution = restitution[i];
            body.createFixture(fd);
        }

        shape.dispose();
    }
}

From source file:com.badlogic.gdx.tests.box2d.VerticalStack.java

License:Apache License

@Override
protected void createWorld(World world) {
    {/*from   w ww  .j  a  va2 s .  co m*/
        BodyDef bd = new BodyDef();
        Body ground = world.createBody(bd);

        EdgeShape shape = new EdgeShape();
        shape.set(new Vector2(-40, 0), new Vector2(40, 0));
        ground.createFixture(shape, 0.0f);

        shape.set(new Vector2(20, 0), new Vector2(20, 20));
        ground.createFixture(shape, 0);
        shape.dispose();
    }

    float xs[] = { 0, -10, -5, 5, 10 };

    for (int j = 0; j < e_columnCount; j++) {
        PolygonShape shape = new PolygonShape();
        shape.setAsBox(0.5f, 0.5f);

        FixtureDef fd = new FixtureDef();
        fd.shape = shape;
        fd.density = 1.0f;
        fd.friction = 0.3f;

        for (int i = 0; i < e_rowCount; i++) {
            BodyDef bd = new BodyDef();
            bd.type = BodyType.DynamicBody;

            int n = j * e_rowCount + i;
            m_indices[n] = n;

            float x = 0;
            bd.position.set(xs[j] + x, 0.752f + 1.54f * i);
            Body body = world.createBody(bd);
            body.setUserData(n);

            m_bodies[n] = body;
            body.createFixture(fd);
        }

        shape.dispose();
    }

    m_bullet = null;
}

From source file:com.badlogic.gdx.tests.box2d.VerticalStack.java

License:Apache License

@Override
public boolean keyDown(int keyCode) {
    if (keyCode == Input.Keys.COMMA) {
        if (m_bullet != null) {
            world.destroyBody(m_bullet);
            m_bullet = null;/*from  w w w.j a v a  2 s. c o m*/
        }

        {
            CircleShape shape = new CircleShape();
            shape.setRadius(0.25f);

            FixtureDef fd = new FixtureDef();
            fd.shape = shape;
            fd.density = 20.0f;
            fd.restitution = 0.05f;

            BodyDef bd = new BodyDef();
            bd.type = BodyType.DynamicBody;
            bd.bullet = true;
            bd.position.set(-31, 5);

            m_bullet = world.createBody(bd);
            m_bullet.createFixture(fd);

            m_bullet.setLinearVelocity(new Vector2(400, 0));
        }
    }

    return false;
}

From source file:com.badman.slingmango.data.ConveyorBelt2.java

License:Apache License

@Override
protected void createWorld(World world) {
    world.setContactListener(this);

    // Ground/*from w  w  w. j ava  2 s  . c  o  m*/
    {
        BodyDef bodyDef = new BodyDef();
        groundBody = world.createBody(bodyDef);

        EdgeShape shape = new EdgeShape();
        shape.set(new Vector2(-20.0f, 0.0f), new Vector2(20.0f, 0.0f));
        groundBody.createFixture(shape, 0.0f);
    }

    // Platform
    {
        BodyDef bd = new BodyDef();
        bd.position.set(-5.0f, 5.0f);
        Body body = world.createBody(bd);

        PolygonShape shape = new PolygonShape();
        shape.setAsBox(10.0f, 0.5f);

        FixtureDef fd = new FixtureDef();
        fd.shape = shape;
        fd.friction = 0.8f;
        m_platform = body.createFixture(fd);
    }

    // Boxes
    for (int i = 0; i < 5; ++i) {
        /*BodyDef bd = new BodyDef();
        bd.type = BodyType.DynamicBody;
        bd.position.set(-10.0f + 2.0f * i, 7.0f);
        Body body = world.createBody(bd);
                
        PolygonShape shape = new PolygonShape();
        shape.setAsBox(0.5f, 0.5f);
        body.createFixture(shape, 20.0f);*/

        Mango mango = new Mango(world);
        mango.body.setTransform(-10.0f + 2.0f * i, 7.0f, 0);
    }

    texture = new Texture(Gdx.files.internal("basket.png"));
}