Example usage for com.badlogic.gdx.physics.box2d EdgeShape set

List of usage examples for com.badlogic.gdx.physics.box2d EdgeShape set

Introduction

In this page you can find the example usage for com.badlogic.gdx.physics.box2d EdgeShape set.

Prototype

public void set(float v1X, float v1Y, float v2X, float v2Y) 

Source Link

Document

Set this as an isolated edge.

Usage

From source file:com.mygdx.game.Sprites.Boss.Boss.java

private void defineBoss() {

    BodyDef bdef = new BodyDef();

    bdef.position.set(getX(), getY());//from w  ww  .j  a va 2 s .  c om
    bdef.type = BodyDef.BodyType.DynamicBody;
    b2body = world.createBody(bdef);

    FixtureDef fdef = new FixtureDef();

    PolygonShape shape = new PolygonShape();

    shape.setAsBox(25 / AdventureGame.PPM, 20 / AdventureGame.PPM);

    fdef.isSensor = true;
    fdef.shape = shape;
    fdef.friction = 0;
    fdef.filter.categoryBits = AdventureGame.BOSS_BIT;

    fdef.filter.maskBits = AdventureGame.BULLET_BIT | AdventureGame.PLAYER_BIT | AdventureGame.DYNAMITE_BIT
            | AdventureGame.GROUND_BIT | AdventureGame.FLOOR_BIT;

    b2body.createFixture(fdef).setUserData(this);

    fdef.isSensor = false;
    EdgeShape downShape = new EdgeShape();
    downShape.set(-51 / AdventureGame.PPM, -22 / AdventureGame.PPM, 51 / AdventureGame.PPM,
            -22 / AdventureGame.PPM);
    fdef.shape = downShape;
    b2body.createFixture(fdef).setUserData(this);

    b2body.setLinearVelocity(Vector2.Zero);
    stand = true;
}

From source file:com.mygdx.game.Sprites.Boss.Boss.java

private void defineStandBoss() {

    world.destroyBody(b2body);/*  w  w w  .ja va2  s.  c  o m*/
    BodyDef bdef = new BodyDef();

    bdef.position.set(205 / AdventureGame.PPM, 100 / AdventureGame.PPM);
    bdef.type = BodyDef.BodyType.DynamicBody;
    b2body = world.createBody(bdef);

    FixtureDef fdef = new FixtureDef();

    PolygonShape shape = new PolygonShape();
    shape.setAsBox(25 / AdventureGame.PPM, 20 / AdventureGame.PPM);

    fdef.isSensor = true;
    fdef.shape = shape;
    fdef.friction = 0;
    fdef.filter.categoryBits = AdventureGame.BOSS_BIT;

    fdef.filter.maskBits = AdventureGame.BULLET_BIT | AdventureGame.PLAYER_BIT | AdventureGame.DYNAMITE_BIT
            | AdventureGame.GROUND_BIT | AdventureGame.FLOOR_BIT;

    b2body.createFixture(fdef).setUserData(this);
    fdef.isSensor = false;
    EdgeShape downShape = new EdgeShape();
    downShape.set(-51 / AdventureGame.PPM, -22 / AdventureGame.PPM, 51 / AdventureGame.PPM,
            -22 / AdventureGame.PPM);
    fdef.shape = downShape;
    b2body.createFixture(fdef).setUserData(this);
    b2body.setLinearVelocity(Vector2.Zero);
    stand = true;
}

From source file:com.mygdx.game.Sprites.Boss.Boss.java

private void defineRollingBoss() {
    Vector2 position = new Vector2(b2body.getPosition());
    world.destroyBody(b2body);/*from www . ja  va  2s  . co m*/
    BodyDef bdef = new BodyDef();

    bdef.position.set(position.add(0, 1 / AdventureGame.PPM));
    bdef.type = BodyDef.BodyType.DynamicBody;
    b2body = world.createBody(bdef);

    FixtureDef fdef = new FixtureDef();

    PolygonShape shape = new PolygonShape();
    shape.setAsBox(51 / AdventureGame.PPM, 10 / AdventureGame.PPM);

    fdef.isSensor = true;
    fdef.shape = shape;
    fdef.friction = 0;
    fdef.filter.categoryBits = AdventureGame.BOSS_BIT;

    fdef.filter.maskBits = AdventureGame.BULLET_BIT | AdventureGame.PLAYER_BIT | AdventureGame.DYNAMITE_BIT
            | AdventureGame.GROUND_BIT | AdventureGame.FLOOR_BIT;

    b2body.createFixture(fdef).setUserData(this);
    fdef.isSensor = false;
    EdgeShape downShape = new EdgeShape();
    downShape.set(-51 / AdventureGame.PPM, -12 / AdventureGame.PPM, 51 / AdventureGame.PPM,
            -12 / AdventureGame.PPM);
    fdef.shape = downShape;
    b2body.createFixture(fdef).setUserData(this);
    b2body.setLinearVelocity(-2, 0);
    stand = false;
}

From source file:com.mygdx.game.TiledMapHelper.java

License:Apache License

public void createCameraLimit(World world, float a) {

    limitCameraLeft = a;//from www .j a  va2  s .  co  m
    limitCameraRight = limitCameraLeft + 8.8f;

    if (getScreenLimits().size != 0) {
        for (Body screen : getScreenLimits()) {
            world.destroyBody(screen);
            screen.setUserData(null);
        }
        getScreenLimits().clear();
    }

    //Colisions limits esquerra camera
    BodyDef bodyDef2 = new BodyDef();
    bodyDef2.type = BodyDef.BodyType.StaticBody;
    bodyDef2.position.set(0, 0);
    FixtureDef fixtureDef2 = new FixtureDef();
    EdgeShape edgeShape = new EdgeShape();
    edgeShape.set(limitCameraLeft, 0, limitCameraLeft, camera.position.y);

    /*Gdx.app.log("ViewPort height", String.valueOf(camera.viewportHeight));
    Gdx.app.log("ViewPort width",String.valueOf(camera.viewportWidth));
    Gdx.app.log("Position x",String.valueOf(camera.position.x));
    Gdx.app.log("Position y", String.valueOf(camera.position.y));*/

    fixtureDef2.shape = edgeShape;
    fixtureDef2.filter.categoryBits = ColisionsGroups.MAP_ENTITY;
    fixtureDef2.filter.maskBits = ColisionsGroups.HERO_ENTITY | ColisionsGroups.ENEMIC_ENTITY;
    Body bodyEdgeScreenLeft = world.createBody(bodyDef2);
    bodyEdgeScreenLeft.createFixture(fixtureDef2);
    bodyEdgeScreenLeft.setUserData(LEFT_SCREEN_LIMIT);
    getScreenLimits().add(bodyEdgeScreenLeft);
    fixtureDef2.shape = null;
    edgeShape.dispose();

    //Colisions limit dret camera
    BodyDef bodyDef4 = new BodyDef();
    bodyDef4.type = BodyDef.BodyType.StaticBody;
    bodyDef4.position.set(0, 0);
    FixtureDef fixtureDef4 = new FixtureDef();
    EdgeShape edgeShapeRight = new EdgeShape();
    edgeShapeRight.set(limitCameraRight, 0, limitCameraRight, camera.position.y);
    fixtureDef4.shape = edgeShapeRight;
    fixtureDef4.filter.categoryBits = ColisionsGroups.MAP_ENTITY;
    fixtureDef4.filter.maskBits = ColisionsGroups.HERO_ENTITY | ColisionsGroups.ENEMIC_ENTITY;
    ;
    Body bodyEdgeScreenRight = world.createBody(bodyDef4);
    bodyEdgeScreenRight.createFixture(fixtureDef4);
    bodyEdgeScreenRight.setUserData(RIGHT_SCREEN_LIMIT);
    getScreenLimits().add(bodyEdgeScreenRight);
    fixtureDef4.shape = null;
    edgeShapeRight.dispose();

}

From source file:com.mygdx.game.Tools.B2WorldCreators.B2WorldCreator1_1.java

public B2WorldCreator1_1(PlayScreen1_1 screen) {

    world = screen.getWorld();//  w  ww .jav a 2s.c  o  m
    map = screen.getMap();
    enemies = new Array<Enemy>();

    BodyDef bdef = new BodyDef();
    PolygonShape shape = new PolygonShape();
    FixtureDef fdef = new FixtureDef();
    Body body;

    for (MapObject object : map.getLayers().get("Cannon").getObjects().getByType(RectangleMapObject.class)) {
        Rectangle rect = ((RectangleMapObject) object).getRectangle();
        enemies.add(new Cannon(screen, (rect.getX() + rect.getWidth() / 2) / AdventureGame.PPM,
                (rect.getY() + rect.getHeight() / 2) / AdventureGame.PPM));

    }

    for (MapObject object : map.getLayers().get("Robot").getObjects().getByType(RectangleMapObject.class)) {
        Rectangle rect = ((RectangleMapObject) object).getRectangle();
        enemies.add(new Robot(screen, (rect.getX() + rect.getWidth() / 2) / AdventureGame.PPM,
                (rect.getY() + rect.getHeight() / 2) / AdventureGame.PPM));

    }
    for (MapObject object : map.getLayers().get("AirEnemy").getObjects().getByType(RectangleMapObject.class)) {
        Rectangle rect = ((RectangleMapObject) object).getRectangle();
        enemies.add(new AirEnemy(screen, (rect.getX() + rect.getWidth() / 2) / AdventureGame.PPM,
                (rect.getY() + rect.getHeight() / 2) / AdventureGame.PPM));
    }
    for (MapObject object : map.getLayers().get("Wheel").getObjects().getByType(RectangleMapObject.class)) {
        Rectangle rect = ((RectangleMapObject) object).getRectangle();
        enemies.add(new Wheel(screen, (rect.getX() + rect.getWidth() / 2) / AdventureGame.PPM,
                (rect.getY() + rect.getHeight() / 2) / AdventureGame.PPM));

    }
    for (MapObject object : map.getLayers().get("Ground").getObjects().getByType(RectangleMapObject.class)) {
        Rectangle rect = ((RectangleMapObject) object).getRectangle();

        bdef.type = BodyDef.BodyType.StaticBody;
        bdef.position.set((rect.getX() + rect.getWidth() / 2) / AdventureGame.PPM,
                (rect.getY() + rect.getHeight() / 2) / AdventureGame.PPM);

        body = world.createBody(bdef);

        shape.setAsBox((rect.getWidth() / 2) / AdventureGame.PPM, (rect.getHeight() / 2) / AdventureGame.PPM);
        fdef.shape = shape;
        fdef.filter.categoryBits = AdventureGame.GROUND_BIT;
        fdef.filter.maskBits = AdventureGame.BULLET_BIT | AdventureGame.PLAYER_BIT
                | AdventureGame.ENEMYBULLET_BIT | AdventureGame.ENEMY_BIT | AdventureGame.DYNAMITE_BIT;
        fdef.isSensor = false;
        body.createFixture(fdef);
    }
    for (MapObject object : map.getLayers().get("Ground").getObjects().getByType(RectangleMapObject.class)) {
        Rectangle rect = ((RectangleMapObject) object).getRectangle();

        bdef.type = BodyDef.BodyType.StaticBody;
        bdef.position.set((rect.getX()) / AdventureGame.PPM,
                (rect.getY() + rect.getHeight()) / AdventureGame.PPM);

        body = world.createBody(bdef);

        EdgeShape shapeFloor = new EdgeShape();

        shapeFloor.set(0, 0, rect.getWidth() / AdventureGame.PPM, 0);
        fdef.shape = shapeFloor;
        fdef.filter.categoryBits = AdventureGame.FLOOR_BIT;
        fdef.filter.maskBits = AdventureGame.BULLET_BIT | AdventureGame.PLAYER_BIT
                | AdventureGame.ENEMYBULLET_BIT | AdventureGame.ENEMY_BIT | AdventureGame.DYNAMITE_BIT;
        fdef.isSensor = false;
        body.createFixture(fdef);
    }

    for (MapObject object : map.getLayers().get("Finish").getObjects().getByType(RectangleMapObject.class)) {
        Rectangle rect = ((RectangleMapObject) object).getRectangle();

        bdef.type = BodyDef.BodyType.StaticBody;
        bdef.position.set((rect.getX() + rect.getWidth() / 2) / AdventureGame.PPM,
                (rect.getY() + rect.getHeight() / 2) / AdventureGame.PPM);

        body = world.createBody(bdef);

        shape.setAsBox((rect.getWidth() / 2) / AdventureGame.PPM, (rect.getHeight() / 2) / AdventureGame.PPM);
        fdef.shape = shape;
        fdef.filter.categoryBits = AdventureGame.FINISH_BIT;
        fdef.filter.maskBits = AdventureGame.PLAYER_BIT;
        fdef.isSensor = true;
        body.createFixture(fdef);
    }

    for (MapObject object : map.getLayers().get("Ground").getObjects().getByType(PolygonMapObject.class)) {

        Polygon pol = ((PolygonMapObject) object).getPolygon();

        bdef.type = BodyDef.BodyType.StaticBody;
        bdef.position.set(pol.getX() / AdventureGame.PPM, (pol.getY()) / AdventureGame.PPM);

        body = world.createBody(bdef);
        body.setLinearDamping(100);

        float[] vert = pol.getVertices();
        for (int i = 0; i < vert.length; i++) {
            vert[i] /= AdventureGame.PPM;
        }

        shape.set(vert);
        fdef.shape = shape;
        fdef.filter.categoryBits = AdventureGame.FLOOR_BIT;
        fdef.filter.maskBits = AdventureGame.BULLET_BIT | AdventureGame.PLAYER_BIT | AdventureGame.DYNAMITE_BIT
                | AdventureGame.ENEMY_BIT;
        fdef.isSensor = false;
        fdef.friction = 0.035f;
        body.createFixture(fdef);

    }

}

From source file:com.mygdx.game.Tools.B2WorldCreators.B2WorldCreator1_2.java

public B2WorldCreator1_2(PlayScreen1_2 screen) {

    world = screen.getWorld();/*ww  w.j  av a 2  s. com*/
    map = screen.getMap();
    enemies = new Array<Enemy>();

    BodyDef bdef = new BodyDef();
    PolygonShape shape = new PolygonShape();
    FixtureDef fdef = new FixtureDef();
    Body body;

    for (MapObject object : map.getLayers().get("Miner").getObjects().getByType(RectangleMapObject.class)) {
        Rectangle rect = ((RectangleMapObject) object).getRectangle();
        enemies.add(new Miner(screen, (rect.getX() + rect.getWidth() / 2) / AdventureGame.PPM,
                (rect.getY() + rect.getHeight() / 2) / AdventureGame.PPM));

    }

    for (MapObject object : map.getLayers().get("MachineGun").getObjects()
            .getByType(RectangleMapObject.class)) {
        Rectangle rect = ((RectangleMapObject) object).getRectangle();
        enemies.add(new MachineGun(screen, (rect.getX() + rect.getWidth() / 2) / AdventureGame.PPM,
                (rect.getY() + rect.getHeight() / 2) / AdventureGame.PPM));

    }

    for (MapObject object : map.getLayers().get("MummyDog").getObjects().getByType(RectangleMapObject.class)) {
        Rectangle rect = ((RectangleMapObject) object).getRectangle();
        enemies.add(new MummyDog(screen, (rect.getX() + rect.getWidth() / 2) / AdventureGame.PPM,
                (rect.getY() + rect.getHeight() / 2) / AdventureGame.PPM));

    }

    for (MapObject object : map.getLayers().get("AirEnemy").getObjects().getByType(RectangleMapObject.class)) {
        Rectangle rect = ((RectangleMapObject) object).getRectangle();
        enemies.add(new AirEnemy(screen, (rect.getX() + rect.getWidth() / 2) / AdventureGame.PPM,
                (rect.getY() + rect.getHeight() / 2) / AdventureGame.PPM));

    }

    for (MapObject object : map.getLayers().get("Ground").getObjects().getByType(RectangleMapObject.class)) {
        Rectangle rect = ((RectangleMapObject) object).getRectangle();

        bdef.type = BodyDef.BodyType.StaticBody;
        bdef.position.set((rect.getX() + rect.getWidth() / 2) / AdventureGame.PPM,
                (rect.getY() + rect.getHeight() / 2) / AdventureGame.PPM);

        body = world.createBody(bdef);

        shape.setAsBox((rect.getWidth() / 2) / AdventureGame.PPM, (rect.getHeight() / 2) / AdventureGame.PPM);
        fdef.shape = shape;
        fdef.filter.categoryBits = AdventureGame.GROUND_BIT;
        fdef.filter.maskBits = AdventureGame.BULLET_BIT | AdventureGame.PLAYER_BIT
                | AdventureGame.ENEMYBULLET_BIT | AdventureGame.BOSS_BIT | AdventureGame.DYNAMITE_BIT;
        fdef.isSensor = false;
        body.createFixture(fdef);
    }
    for (MapObject object : map.getLayers().get("Ground").getObjects().getByType(RectangleMapObject.class)) {
        Rectangle rect = ((RectangleMapObject) object).getRectangle();

        bdef.type = BodyDef.BodyType.StaticBody;
        bdef.position.set((rect.getX()) / AdventureGame.PPM,
                (rect.getY() + rect.getHeight()) / AdventureGame.PPM);

        body = world.createBody(bdef);

        EdgeShape floorShape = new EdgeShape();

        floorShape.set(0, 0, rect.getWidth() / AdventureGame.PPM, 0);
        fdef.filter.categoryBits = AdventureGame.FLOOR_BIT;
        fdef.filter.maskBits = AdventureGame.BULLET_BIT | AdventureGame.PLAYER_BIT
                | AdventureGame.ENEMYBULLET_BIT | AdventureGame.BOSS_BIT | AdventureGame.DYNAMITE_BIT;
        fdef.shape = floorShape;
        body.createFixture(fdef);
    }
    for (MapObject object : map.getLayers().get("Ground2").getObjects().getByType(RectangleMapObject.class)) {
        Rectangle rect = ((RectangleMapObject) object).getRectangle();

        bdef.type = BodyDef.BodyType.StaticBody;
        bdef.position.set((rect.getX() + rect.getWidth() / 2) / AdventureGame.PPM,
                (rect.getY() + rect.getHeight() / 2) / AdventureGame.PPM);

        body = world.createBody(bdef);

        shape.setAsBox((rect.getWidth() / 2) / AdventureGame.PPM, (rect.getHeight() / 2) / AdventureGame.PPM);
        fdef.shape = shape;
        fdef.filter.categoryBits = AdventureGame.DAMAGEGROUND_BIT;
        fdef.filter.maskBits = AdventureGame.PLAYER_BIT;
        fdef.isSensor = true;
        body.createFixture(fdef);
    }
    for (MapObject object : map.getLayers().get("Finish").getObjects().getByType(RectangleMapObject.class)) {
        Rectangle rect = ((RectangleMapObject) object).getRectangle();

        bdef.type = BodyDef.BodyType.StaticBody;
        bdef.position.set((rect.getX() + rect.getWidth() / 2) / AdventureGame.PPM,
                (rect.getY() + rect.getHeight() / 2) / AdventureGame.PPM);

        body = world.createBody(bdef);

        shape.setAsBox((rect.getWidth() / 2) / AdventureGame.PPM, (rect.getHeight() / 2) / AdventureGame.PPM);
        fdef.shape = shape;
        fdef.filter.categoryBits = AdventureGame.FINISH_BIT;
        fdef.filter.maskBits = AdventureGame.PLAYER_BIT;
        fdef.isSensor = true;
        body.createFixture(fdef);
    }

}

From source file:com.mygdx.game.Tools.B2WorldCreators.B2WorldCreatorBossLevel.java

public B2WorldCreatorBossLevel(PlayScreenBossLevel screen) {
    world = screen.getWorld();/*from   ww  w  . j av  a2s  .  c  om*/
    map = screen.getMap();
    enemies = new Array<Enemy>();

    BodyDef bdef = new BodyDef();
    PolygonShape shape = new PolygonShape();
    FixtureDef fdef = new FixtureDef();
    Body body;

    for (MapObject object : map.getLayers().get("Ground").getObjects().getByType(RectangleMapObject.class)) {
        Rectangle rect = ((RectangleMapObject) object).getRectangle();

        bdef.type = BodyDef.BodyType.StaticBody;
        bdef.position.set((rect.getX() + rect.getWidth() / 2) / AdventureGame.PPM,
                (rect.getY() + rect.getHeight() / 2) / AdventureGame.PPM);

        body = world.createBody(bdef);

        shape.setAsBox((rect.getWidth() / 2) / AdventureGame.PPM, (rect.getHeight() / 2) / AdventureGame.PPM);
        fdef.shape = shape;
        fdef.filter.categoryBits = AdventureGame.GROUND_BIT;
        fdef.filter.maskBits = AdventureGame.BULLET_BIT | AdventureGame.PLAYER_BIT
                | AdventureGame.ENEMYBULLET_BIT | AdventureGame.BOSS_BIT | AdventureGame.DYNAMITE_BIT;
        fdef.isSensor = false;
        body.createFixture(fdef);
    }

    for (MapObject object : map.getLayers().get("Ground").getObjects().getByType(RectangleMapObject.class)) {
        Rectangle rect = ((RectangleMapObject) object).getRectangle();

        bdef.type = BodyDef.BodyType.StaticBody;
        bdef.position.set((rect.getX()) / AdventureGame.PPM,
                (rect.getY() + rect.getHeight()) / AdventureGame.PPM);

        body = world.createBody(bdef);

        EdgeShape floorShape = new EdgeShape();

        floorShape.set(0, 2 / AdventureGame.PPM, rect.getWidth() / AdventureGame.PPM, 2 / AdventureGame.PPM);
        fdef.filter.categoryBits = AdventureGame.FLOOR_BIT;
        fdef.filter.maskBits = AdventureGame.BULLET_BIT | AdventureGame.PLAYER_BIT
                | AdventureGame.ENEMYBULLET_BIT | AdventureGame.BOSS_BIT | AdventureGame.DYNAMITE_BIT;
        fdef.shape = floorShape;
        body.createFixture(fdef);
    }

}

From source file:com.uwsoft.editor.gdx.ui.components.ItemPhysicsEditor.java

License:Apache License

private void crateEdgPlatform(float x, float y, float w, float h) {
    BodyDef bodyDef = new BodyDef();
    Vector2 vec = new Vector2(x, y);
    this.localToStageCoordinates(vec);
    vec.scl(PhysicsBodyLoader.SCALE);//  ww w. j  ava2s. c om
    bodyDef.position.set(vec);
    bodyDef.type = BodyDef.BodyType.StaticBody;
    Body platformBody = physicsEditorWorld.createBody(bodyDef);
    FixtureDef fixtureDef = new FixtureDef();
    EdgeShape polygonShape = new EdgeShape();
    polygonShape.set(0, 0, w * PhysicsBodyLoader.SCALE, h * PhysicsBodyLoader.SCALE);
    fixtureDef.shape = polygonShape;
    platformBody.createFixture(fixtureDef);
    edgBodyList.add(platformBody);
}

From source file:releasethekraken.GameWorld.java

/**
 * Spawns the boundaries around the world.  Should only be called once, after
 * the world size variables have been set.
 * Code copy and pasted from Dalton's app
 *///ww w .j  ava 2 s. c  o m
public void spawnWorldBoundaries() {
    //Set up boundaries
    EdgeShape edgeShape = new EdgeShape();

    //The fixture def
    FixtureDef fixtureDef = new FixtureDef();
    fixtureDef.density = 10000.0F;
    fixtureDef.friction = 0.4F;
    fixtureDef.restitution = 0.0F;

    //The body def
    BodyDef bodyDef = new BodyDef();
    bodyDef.type = BodyDef.BodyType.StaticBody;

    //The body
    Body body = this.physWorld.createBody(bodyDef);

    //Top part
    edgeShape.set(0, this.height, this.width, this.height);
    fixtureDef.shape = edgeShape;
    body.createFixture(fixtureDef);

    //Left part
    edgeShape.set(0, 0, 0, this.height);
    fixtureDef.shape = edgeShape;
    body.createFixture(fixtureDef);

    //Right part
    edgeShape.set(this.width, 0, this.width, this.height);
    fixtureDef.shape = edgeShape;
    body.createFixture(fixtureDef);

    //Bottom part
    edgeShape.set(0, 0, this.width, 0);
    fixtureDef.shape = edgeShape;
    fixtureDef.friction = 2.0F; //300.0F;
    body.createFixture(fixtureDef);

    edgeShape.dispose();
}

From source file:se.danielj.geometridestroyer.EntityCreator.java

License:GNU General Public License

public static void createFloor(World world) {
    BodyDef bodyDef = new BodyDef();
    bodyDef.type = BodyType.StaticBody;//from  www.j  a  va 2 s.c o m
    bodyDef.position.set(0, 0);
    Body body = world.createBody(bodyDef);

    EdgeShape shape = new EdgeShape();
    shape.set(0, 0, Constants.WIDTH, 0);
    body.createFixture(shape, 0);

    shape = new EdgeShape();
    shape.set(0, 0, 0, Constants.HEIGHT);
    body.createFixture(shape, 0);

    shape = new EdgeShape();
    shape.set(Constants.WIDTH, 0, Constants.WIDTH, Constants.HEIGHT);
    body.createFixture(shape, 0);
}