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

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

Introduction

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

Prototype

Vector2 X

To view the source code for com.badlogic.gdx.math Vector2 X.

Click Source Link

Usage

From source file:com.gamejolt.mikykr5.ceidecpong.ecs.entities.PongEntityInitializer.java

License:Open Source License

@Override
public void setLoadableAssets(PooledEngine engine) throws IllegalStateException {
    if (!entitiesCreated)
        throw new IllegalStateException("Entities have not been created before setting assets.");

    // Some variables used to initialize the ball.
    Vector2 randomVector = new Vector2().set(Vector2.X).setAngle(MathUtils.random(-60, 60));
    int randomSign = MathUtils.random(-1, 1) >= 0 ? 1 : -1;

    // Fetch the assets.
    TextureAtlas atlas = loader.getAsset("data/gfx/textures/pong_atlas.atlas", TextureAtlas.class);
    Texture bckg = loader.getAsset("data/gfx/textures/bckg.png", Texture.class);

    // Add the sound effects to the entities.
    Mappers.soundMapper.get(victorySound).path = "data/sfx/oh_yeah_wav_cut.ogg";
    Mappers.soundMapper.get(defeatSound).path = "data/sfx/atari_boom.ogg";

    // Set up the background.
    Mappers.spriteMapper.get(background).sprite = new Sprite(bckg);
    Mappers.positionMapper.get(background).setXY(-(ProjectConstants.FB_WIDTH / 2.0f),
            -(ProjectConstants.FB_HEIGHT / 2.0f));

    // Set up the ball.
    Mappers.spriteMapper.get(ball).sprite = atlas.createSprite("ball");
    Mappers.positionMapper.get(ball).setXY(-(Mappers.spriteMapper.get(ball).sprite.getWidth() / 2),
            -(Mappers.spriteMapper.get(ball).sprite.getHeight() / 2));
    Mappers.velocityMapper.get(ball).setXY(randomVector.x * 475.0f * randomSign,
            randomVector.y * 475.0f * randomSign);
    Mappers.bboxMapper.get(ball).bbox.set(Mappers.spriteMapper.get(ball).sprite.getBoundingRectangle());
    Mappers.soundMapper.get(ball).path = "data/sfx/BounceYoFrankie.ogg";

    // Set up the human player.
    Mappers.spriteMapper.get(paddleUser).sprite = atlas.createSprite("glasspaddle2");
    Mappers.positionMapper.get(paddleUser).setXY(-(ProjectConstants.FB_WIDTH / 2) + 100,
            -(Mappers.spriteMapper.get(paddleUser).sprite.getHeight() / 2));
    Mappers.bboxMapper.get(paddleUser).bbox
            .set(Mappers.spriteMapper.get(paddleUser).sprite.getBoundingRectangle());
    Mappers.playerMapper.get(paddleUser).id = PlayerComponent.HUMAN_PLAYER;

    // Set up the computer player.
    Mappers.spriteMapper.get(paddleComp).sprite = atlas.createSprite("paddle");
    Mappers.positionMapper.get(paddleComp)
            .setXY(((ProjectConstants.FB_WIDTH / 2) - 1) - 100
                    - Mappers.spriteMapper.get(paddleComp).sprite.getWidth(),
                    -(Mappers.spriteMapper.get(paddleComp).sprite.getHeight() / 2));
    Mappers.bboxMapper.get(paddleComp).bbox
            .set(Mappers.spriteMapper.get(paddleComp).sprite.getBoundingRectangle());
    Mappers.playerMapper.get(paddleComp).id = PlayerComponent.COMPUTER_PLAYER;

    // Release the assets loader instance and mark the flag.
    AsyncAssetLoader.freeInstance();//from  ww w  .j av  a2s  .  c o m
    assetsLoaded = true;
}

From source file:com.gamejolt.mikykr5.ceidecpong.ecs.systems.CollisionDetectionSystem.java

License:Open Source License

private void resetEntity(Entity entity) {
    PositionComponent position = Mappers.positionMapper.get(entity);
    SpriteComponent sprite = Mappers.spriteMapper.get(entity);
    VelocityComponent velocity = Mappers.velocityMapper.get(entity);
    int randomSign = MathUtils.random(-1, 1) >= 0 ? 1 : -1;

    randomVector.set(Vector2.X).setAngle(MathUtils.random(-60, 60));
    velocity.setXY(randomVector.x * -475 * randomSign, randomVector.y * 475 * randomSign);

    if (position != null) {
        if (sprite != null) {
            position.setXY(-(sprite.sprite.getWidth() / 2), -(sprite.sprite.getHeight() / 2));
        } else {//from   ww  w. j a  v a2 s.c  o m
            position.setXY(0, 0);
        }
    }
}

From source file:com.github.unluckyninja.defenseofhuman.model.entity.Rope.java

License:Open Source License

public Rope(GameWorld gameWorld, Body body, Vector2 direction) {
    this.gameWorld = gameWorld;
    world = body.getWorld();// ww w  .j ava2 s  . c  om
    bodyA = body;

    // ???
    Vector2 oriPosition = new Vector2(body.getPosition());
    if (direction.equals(Vector2.Zero)) {
        direction = Vector2.X;
    }
    Vector2 dir = new Vector2(direction);
    dir.nor();
    Vector2 distance = dir.scl(width / 2 * 1.25f); // ,?1/4,?

    // ?body
    bodyDef.angle = (float) Math.toRadians(dir.angle());
    bodyDef.position.set(distance.add(oriPosition));
    bodyDef.linearDamping = 0.3f;
    bodyDef.type = BodyDef.BodyType.DynamicBody;

    Body piece = body.getWorld().createBody(bodyDef);
    piece.setGravityScale(0.1f);

    // ?
    // ??,????
    fixtureDef.isSensor = true;
    fixtureDef.density = 0.001f;

    polygonShape.setAsBox(width / 2, height / 2);

    fixtureDef.shape = polygonShape;

    piece.createFixture(fixtureDef);

    // ?
    RevoluteJointDef rjDef = new RevoluteJointDef();
    rjDef.bodyA = body;
    rjDef.bodyB = piece;

    rjDef.localAnchorA.x = 0;
    rjDef.localAnchorA.y = 0;
    rjDef.localAnchorB.x = -width / 2 * 1.25f;
    rjDef.localAnchorB.y = 0;

    joints.add(body.getWorld().createJoint(rjDef));
    pieces.add(piece);

    piece.setUserData(this);

}

From source file:com.github.unluckyninja.defenseofhuman.model.entity.Rope.java

License:Open Source License

private Rope append(Vector2 direction) {
    //TODO //from w  w w .  j a v a2 s. co  m
    Body body = pieces.get(pieces.size - 1);

    // ???
    oriPosition.set(body.getWorldPoint(temp1.set(width / 2 * 1.25f, 0)));
    if (direction.equals(Vector2.Zero)) {
        direction = Vector2.X;
    }
    dir.set(direction);
    dir.nor();
    dir.scl(width / 2 * 1.25f);

    // ?body
    bodyDef.angle = (float) Math.toRadians(dir.angle());
    bodyDef.position.set(dir.add(oriPosition));

    Body piece = body.getWorld().createBody(bodyDef);
    piece.setGravityScale(0.1f);

    // ?
    fixtureDef.isSensor = true;
    fixtureDef.density = 0.001f;

    polygonShape.setAsBox(width / 2, height / 2);

    fixtureDef.shape = polygonShape;

    piece.createFixture(fixtureDef);

    // ??
    RevoluteJointDef rjDef = new RevoluteJointDef();
    rjDef.bodyA = body;
    rjDef.bodyB = piece;

    rjDef.localAnchorA.x = width / 2 * 1.25f;
    rjDef.localAnchorA.y = 0;
    rjDef.localAnchorB.x = -width / 2 * 1.25f;
    rjDef.localAnchorB.y = 0;

    joints.add(body.getWorld().createJoint(rjDef));
    pieces.add(piece);

    body.setUserData(this);

    return this;
}

From source file:com.github.unluckyninja.defenseofhuman.model.GameWorld.java

License:Open Source License

public GameWorld() {
    this.world = new World(new Vector2(0, -10), true);

    entities = new Array<Entity>();
    toremove = new Array<Entity>();

    // for test/*from  ww w  .  jav a  2s.com*/
    Vector2 position = new Vector2(0, 0);
    BodyDef def = new BodyDef();
    def.position.set(0, 0);
    EdgeShape edge = new EdgeShape();
    edge.set(-50, -2, 50, -2);
    world.createBody(def).createFixture(edge, 0);
    edge.set(-10, 4, 10, 3);
    world.createBody(def).createFixture(edge, 0);
    localPlayer = createPlayer(position);
    edge.dispose();

    def.position.set(-5, 0);
    def.type = BodyDef.BodyType.StaticBody;

    Body body1 = world.createBody(def);
    def.position.set(5, 1);
    Body body2 = world.createBody(def);

    CircleShape circle = new CircleShape();
    circle.setRadius(0.4f);
    body1.createFixture(circle, 1);
    body2.createFixture(circle, 1);

    new Rope(this, body2, Vector2.X).append(10, Vector2.X);

    circle.dispose();
}

From source file:vault.clockwork.actors.HandActor.java

License:Open Source License

/**
 * Wystrzeliwuje kulke, gdy ta nie jest jeszcze wystrzelona.
 *///from  w w  w . ja  va  2 s.com
public void shootPaperBall() {
    if (paperBall != null) {
        return;
    }

    // kierunek i sila wystrzalu
    Vector2 force = Vector2.X.cpy().setAngle(getRotation()).scl(staminaLevel * 500.f);

    // stworz kulke
    paperBall = new PaperBallActor(0);
    paperBall.setPosition(position);
    paperBall.applyForce(force);
    Game.scene.ACTION_1.add(paperBall);
}

From source file:vault.clockwork.actors.HandActor.java

License:Open Source License

/**
 * Calculate angle difference of hand by a given vector.
 * @param by//  w  w w .ja  va  2s  . co  m
 * @return 
 */
private float angleDifference(Vector2 by) {
    return by.angle(Vector2.X.cpy().setAngle(sprHand.getRotation()));
}