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() 

Source Link

Document

Constructs a new vector at (0,0)

Usage

From source file:com.intrepid.nicge.entities.AbstractEntity.java

public AbstractEntity(Long id) {
    this.id = id.longValue();
    this.position = new Vector2();
    this.elapsedTime = 0.0f;
}

From source file:com.intrepid.nicge.theater.cameras.SeekerCamera.java

public SeekerCamera(int nativeResolutionWidth, int nativeResolutionHeight) {
    super(nativeResolutionWidth, nativeResolutionHeight);

    v2Camera = new Vector2();
    v2Pivot = new Vector2();

    //      Somente valores iniciais das variaveis
    //      Torna ZONA MORTA (a camera no segue o pivot) uma area igual
    //      a 1/3 das extremidades da tela 
    x0 = nativeResolutionWidth / 3;/*from   w  ww  .  j  ava2  s  .  c  om*/
    y0 = nativeResolutionHeight / 3;
    xf = nativeResolutionWidth - x0;
    yf = nativeResolutionHeight - y0;

    avoidHookEffect = false;
}

From source file:com.jmd.asteroidshooter.entities.Player.java

public Player(AsteroidShooter game) {
    super(new Sprite(new Texture("res/images/spaceship.png")));
    this.velocity = new Vector2();
    this.game = game;
}

From source file:com.jmd.asteroidshooter.entities.Player.java

/**
 *
 * @return the position vector of the sprite
 *//*from   ww  w. ja  va  2s  . co m*/
public Vector2 getScaledPosition() {
    Vector2 pos = new Vector2();
    pos.x = body.getPosition().x * PPM;
    pos.y = body.getPosition().y * PPM;
    return pos;
}

From source file:com.jmolina.orb.elements.Orb.java

License:Open Source License

/**
 * Constructor//from  w  w w.j  ava2  s  .  c om
 *
 * @param am AssetManager
 * @param world Mundo fisico
 * @param pixelsPerMeter Ratio de conversion pixeles/metros
 */
public Orb(AssetManager am, World world, float pixelsPerMeter) {
    super(am, world, pixelsPerMeter, Geometry.CIRCLE, Flavor.GREEN, 1f, 1f, 6, 2, 0);

    startPosition = new Vector2();
    heat = 0f;
    frozen = overloaded = false;
    fragments = new Fragments(am);
    naturalScale = pixelsPerMeter * SCALE_CORRECTION * DIAMETER / fragments.getWidth();
    fragments.setScale(naturalScale);
    setActor(fragments);
    getBody().setSleepingAllowed(false); // Evita que se quede dormido. La Gravedad no despierta!
    setPosition(DEFAULT_X, DEFAULT_Y);
    setStartPosition(DEFAULT_X, DEFAULT_Y);
}

From source file:com.jmolina.orb.screens.Level.java

License:Open Source License

/**
 * Constructor/*from   www.  jav a2 s  .  c  o m*/
 *
 * @param sm SuperManager
 */
public Level(SuperManager sm) {
    super(sm);

    achievedRobocop = false;
    achievedItsOver9000 = false;
    achievedHyperdrive = false;

    tick = new Tick();
    pixelsPerMeter = getGameManager().getPixelsPerMeter();
    impulse = IMPULSE_FACTOR / getPixelsPerMeter();
    lastOrbPosition = new Vector2();
    stats = new GameStats();

    float worldWidth = VIEWPORT_WIDTH / getPixelsPerMeter();
    float worldHeight = VIEWPORT_HEIGHT / getPixelsPerMeter();
    worldViewport = new FitViewport(worldWidth, worldHeight);
    gestureViewport = new FitViewport(VIEWPORT_WIDTH, VIEWPORT_HEIGHT);
    parallaxViewport = new FitViewport(VIEWPORT_WIDTH, VIEWPORT_HEIGHT);
    hudViewport = new FitViewport(VIEWPORT_WIDTH, VIEWPORT_HEIGHT);

    hudStage = new HUDStage(this, getAssetManager(), hudViewport);
    gestureStage = new GestureStage(getAssetManager(), gestureViewport, getPixelsPerMeter());
    parallaxStage = new ParallaxStage(getAssetManager(), parallaxViewport, getPixelsPerMeter());

    worldManager = new WorldManager();
    setOrb(new Orb(getAssetManager(), worldManager.getWorld(), getPixelsPerMeter()));
    worldManager.bindContactHandler(this, getOrb());

    GestureDetector gestureDetector = new GestureDetector(GESTURE_HALF_TAP_SQUARE_SIZE,
            GESTURE_TAP_COUNT_INTERVAL, GESTURE_LONG_PRESS_DURATION, GESTURE_MAX_FLING_DELAY,
            new GestureHandler(this));

    situationManager = new SituationManager(getAssetManager(), worldManager.getWorld(), getOrb(),
            getPixelsPerMeter(), getMainStage(), worldViewport);

    addProcessor(hudStage);
    addProcessor(gestureStage);
    addProcessor(gestureDetector);
    createRunnables();
    disableTicking();
    lock();
}

From source file:com.jmolina.orb.stages.GestureStage.java

License:Open Source License

/**
 * Constructor//from w  w  w  .j  av  a 2s.c om
 *
 * @param am AssetManager
 * @param vp Viewport
 * @param pixelsPerMeter Factor de conversion de pixeles a metros
 */
public GestureStage(AssetManager am, Viewport vp, float pixelsPerMeter) {
    super(vp);

    this.vp = vp;
    bufferedArrow = new Image();
    buffer = new FrameBuffer(Pixmap.Format.RGBA8888,
            vp.getScreenWidth() + (int) (OVERSIZE_RATIO * vp.getScreenWidth()),
            vp.getScreenHeight() + (int) (OVERSIZE_RATIO * vp.getScreenHeight()), false);

    start = new Vector2();
    end = new Vector2();
    arrow = new Arrow(am, pixelsPerMeter);
    pulse = new Pulse(am, pixelsPerMeter);

    pulse.setPosition(0.5f * vp.getWorldWidth() - 0.5f * pulse.getWidth(),
            0.5f * vp.getWorldHeight() - 0.5f * pulse.getHeight());

    bufferedArrow.setSize(Var.SCREEN_WIDTH + OVERSIZE_RATIO * Var.SCREEN_WIDTH,
            Var.SCREEN_HEIGHT + OVERSIZE_RATIO * Var.SCREEN_HEIGHT);

    float ratioX = Var.SCREEN_WIDTH / vp.getScreenWidth();
    float ratioY = Var.SCREEN_HEIGHT / vp.getScreenHeight();
    float offsetX = 0.5f * ratioX * (Gdx.graphics.getWidth() - vp.getScreenWidth());
    float offsetY = 0.5f * ratioY * (Gdx.graphics.getHeight() - vp.getScreenHeight());

    bufferedArrow.setPosition(-offsetX, -offsetY);
    arrow.setVisible(false);
    pulse.reset();

    addActor(pulse);
    addActor(arrow);
    addActor(bufferedArrow);
}

From source file:com.johnogel.astrobros.gameobjects.Locator.java

public Locator(AstroBro player, AstroBro other) {
    this.player = player;
    this.other_bro = other;

    center = player.getPosition();// w  w  w.  j  a  v a2 s  .c  o  m
    position = new Vector2();

}

From source file:com.kotcrab.vis.editor.module.physicseditor.util.earclipping.bayazit.BayazitDecomposer.java

License:Apache License

public static Array<Array<Vector2>> ConvexPartition(Array<Vector2> vertices) {
    // We force it to CCW as it is a precondition in this algorithm.
    // vertices.ForceCounterClockWise();
    if (!IsCounterClockWise(vertices)) {
        // Collections.reverse(vertices);
        vertices.reverse();/*from   ww  w.  j  ava 2s  .  co m*/
        // Array<Vector2> reversed = new Array<Vector2>(vertices.size);
        // for (int i = vertices.size - 1; i <= 0; i--) {
        // reversed.add(vertices.get(i));
        // }
        // vertices = reversed;
    }
    Array<Array<Vector2>> list = new Array<Array<Vector2>>();
    float d, lowerDist, upperDist;
    Vector2 p;
    Vector2 lowerInt = new Vector2();
    Vector2 upperInt = new Vector2(); // intersection points
    int lowerIndex = 0, upperIndex = 0;
    Array<Vector2> lowerPoly, upperPoly;
    for (int i = 0; i < vertices.size; ++i) {
        if (Reflex(i, vertices)) {
            lowerDist = upperDist = Float.MAX_VALUE; // std::numeric_limits<qreal>::max();
            for (int j = 0; j < vertices.size; ++j) {
                // if line intersects with an edge
                if (Left(At(i - 1, vertices), At(i, vertices), At(j, vertices))
                        && RightOn(At(i - 1, vertices), At(i, vertices), At(j - 1, vertices))) {
                    // find the point of intersection
                    p = LineIntersect(At(i - 1, vertices), At(i, vertices), At(j, vertices),
                            At(j - 1, vertices));
                    if (Right(At(i + 1, vertices), At(i, vertices), p)) {
                        // make sure it's inside the poly
                        d = SquareDist(At(i, vertices), p);
                        if (d < lowerDist) {
                            // keep only the closest intersection
                            lowerDist = d;
                            lowerInt = p;
                            lowerIndex = j;
                        }
                    }
                }
                if (Left(At(i + 1, vertices), At(i, vertices), At(j + 1, vertices))
                        && RightOn(At(i + 1, vertices), At(i, vertices), At(j, vertices))) {
                    p = LineIntersect(At(i + 1, vertices), At(i, vertices), At(j, vertices),
                            At(j + 1, vertices));
                    if (Left(At(i - 1, vertices), At(i, vertices), p)) {
                        d = SquareDist(At(i, vertices), p);
                        if (d < upperDist) {
                            upperDist = d;
                            upperIndex = j;
                            upperInt = p;
                        }
                    }
                }
            }
            // if there are no vertices to connect to, choose a point in the
            // middle
            if (lowerIndex == (upperIndex + 1) % vertices.size) {
                Vector2 sp = new Vector2((lowerInt.x + upperInt.x) / 2, (lowerInt.y + upperInt.y) / 2);
                lowerPoly = Copy(i, upperIndex, vertices);
                lowerPoly.add(sp);
                upperPoly = Copy(lowerIndex, i, vertices);
                upperPoly.add(sp);
            } else {
                double highestScore = 0, bestIndex = lowerIndex;
                while (upperIndex < lowerIndex)
                    upperIndex += vertices.size;
                for (int j = lowerIndex; j <= upperIndex; ++j) {
                    if (CanSee(i, j, vertices)) {
                        double score = 1 / (SquareDist(At(i, vertices), At(j, vertices)) + 1);
                        if (Reflex(j, vertices)) {
                            if (RightOn(At(j - 1, vertices), At(j, vertices), At(i, vertices))
                                    && LeftOn(At(j + 1, vertices), At(j, vertices), At(i, vertices))) {
                                score += 3;
                            } else {
                                score += 2;
                            }
                        } else {
                            score += 1;
                        }
                        if (score > highestScore) {
                            bestIndex = j;
                            highestScore = score;
                        }
                    }
                }
                lowerPoly = Copy(i, (int) bestIndex, vertices);
                upperPoly = Copy((int) bestIndex, i, vertices);
            }
            list.addAll(ConvexPartition(lowerPoly));
            list.addAll(ConvexPartition(upperPoly));
            return list;
        }
    }
    // polygon is already convex
    if (vertices.size > MaxPolygonVertices) {
        lowerPoly = Copy(0, vertices.size / 2, vertices);
        upperPoly = Copy(vertices.size / 2, 0, vertices);
        list.addAll(ConvexPartition(lowerPoly));
        list.addAll(ConvexPartition(upperPoly));
    } else
        list.add(vertices);
    // The polygons are not guaranteed to be with collinear points. We
    // remove
    // them to be sure.
    for (int i = 0; i < list.size; i++) {
        list.set(i, SimplifyTools.CollinearSimplify(list.get(i), 0));
    }
    // Remove empty vertice collections
    for (int i = list.size - 1; i >= 0; i--) {
        if (list.get(i).size == 0)
            list.removeIndex(i);
    }
    return list;
}

From source file:com.kotcrab.vis.editor.module.physicseditor.util.earclipping.bayazit.BayazitDecomposer.java

License:Apache License

private static Boolean CanSee(int i, int j, Array<Vector2> vertices) {
    if (Reflex(i, vertices)) {
        if (LeftOn(At(i, vertices), At(i - 1, vertices), At(j, vertices))
                && RightOn(At(i, vertices), At(i + 1, vertices), At(j, vertices)))
            return false;
    } else {//from   w w  w .  ja v  a 2s.c  om
        if (RightOn(At(i, vertices), At(i + 1, vertices), At(j, vertices))
                || LeftOn(At(i, vertices), At(i - 1, vertices), At(j, vertices)))
            return false;
    }
    if (Reflex(j, vertices)) {
        if (LeftOn(At(j, vertices), At(j - 1, vertices), At(i, vertices))
                && RightOn(At(j, vertices), At(j + 1, vertices), At(i, vertices)))
            return false;
    } else {
        if (RightOn(At(j, vertices), At(j + 1, vertices), At(i, vertices))
                || LeftOn(At(j, vertices), At(j - 1, vertices), At(i, vertices)))
            return false;
    }
    for (int k = 0; k < vertices.size; ++k) {
        if ((k + 1) % vertices.size == i || k == i || (k + 1) % vertices.size == j || k == j) {
            continue; // ignore incident edges
        }
        Vector2 intersectionPoint = new Vector2();
        if (LineIntersect(At(i, vertices), At(j, vertices), At(k, vertices), At(k + 1, vertices), true, true,
                intersectionPoint)) {
            return false;
        }
    }
    return true;
}