Example usage for com.badlogic.gdx.physics.box2d DestructionListener DestructionListener

List of usage examples for com.badlogic.gdx.physics.box2d DestructionListener DestructionListener

Introduction

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

Prototype

DestructionListener

Source Link

Usage

From source file:headmade.arttag.screens.ArtTagScreen.java

License:Apache License

public ArtTagScreen(DirectedGame game, String map) {
    super(game);// , new Stage(new ExtendViewport(MIN_WORLD_WIDTH, MIN_WORLD_HEIGHT), game.getBatch()));

    fpsLogger = new FPSLogger();

    Player.instance.inventory.clear();/* ww  w.  j a v  a2s  .  c  o m*/
    Player.instance.setControlArtCount(0);
    Player.instance.setArtScanCount(0);
    Player.instance.setArtViewCount(0);
    Player.instance.isMoveDown = false;
    Player.instance.isMoveUp = false;
    Player.instance.isMoveLeft = false;
    Player.instance.isMoveRight = false;

    camera = new OrthographicCamera(MIN_WORLD_WIDTH, MIN_WORLD_HEIGHT);
    ((OrthographicCamera) camera).zoom = 0.5f;

    // perspectiveCam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    // perspectiveCam.position.set(300f, 3000f, 1000f);
    // perspectiveCam.lookAt(300, 300, 0);
    // perspectiveCam.near = 0.1f;
    // perspectiveCam.far = 10000f;
    // perspectiveCam.update();

    contactListener = new ArtTagContactListener(this);

    this.world = new World(new Vector2(0f, 0f), true);
    world.setContactListener(contactListener);
    world.setDestructionListener(new DestructionListener() {

    });

    /** BOX2D LIGHT STUFF BEGIN */
    rayHandler = new RayHandler(world);
    rayHandler.setAmbientLight(0.08f, 0.08f, 0.16f, 0.1f);
    rayHandler.setBlurNum(ArtTag.gameSettings.blur);
    rayHandler.diffuseBlendFunc.set(GL20.GL_DST_COLOR, GL20.GL_SRC_COLOR);
    // RayHandler.setGammaCorrection(true);
    RayHandler.useDiffuseLight(true);
    // rayHandler.setBlur(false);
    /** BOX2D LIGHT STUFF END */

    shapeRenderer = new ShapeRenderer();
    box2dDebugRenderer = new Box2DDebugRenderer();
    inputController = new ArtTagInputController(game, this);

    jobDescActor = new Label("", Assets.instance.skin, "jobDesc");
    imageActor = new Image(Assets.assetsManager.get(AssetTextures.animal4, Texture.class));
    jobDescActor.setWrap(true);
    instructionsActor = new Label("Instructions", Assets.instance.skin, "info");
    instructionsActor.setWrap(true);
    instructionsActor.setVisible(false);
    resultActor = new Label("Result", Assets.instance.skin, "scanner");
    resultActor.setVisible(false);
    resultActor.setAlignment(Align.center);
    final Label scoreLabel = new Label("Your Score", Assets.instance.skin, "white");
    final Label highscoreLabel = new Label("Highscore", Assets.instance.skin, "white");
    final Label scoreActor = new Label("$" + Player.instance.getCash(), Assets.instance.skin, "dollar");
    final Label highscoreActor = new Label("$" + ArtTag.highScore, Assets.instance.skin, "dollar");

    Gdx.app.log(TAG, "camera.viewportWidth " + camera.viewportWidth + " Gdx.graphics.getWidth(): "
            + Gdx.graphics.getWidth());
    rootTable = new Table(Assets.instance.skin);
    rootTable.setFillParent(true);
    rootTable.add(jobDescActor).pad(10f).width(camera.viewportWidth / ArtTag.UNIT_SCALE / 4);
    rootTable.add(imageActor).center().expand();
    rootTable.add(instructionsActor).top().right().pad(10f).width(camera.viewportWidth / ArtTag.UNIT_SCALE / 4);
    rootTable.row();
    rootTable.add(scoreLabel).left();
    rootTable.add();
    rootTable.add(highscoreLabel).right();
    rootTable.row();
    rootTable.add(scoreActor).left();
    rootTable.add(resultActor).center().width(camera.viewportWidth / ArtTag.UNIT_SCALE / 4);
    rootTable.add(highscoreActor).right();

    stage.addActor(rootTable);

    newJob();
    MapUtils.loadMap(this, map != null ? map : AssetMaps.map1);

    final Loader<Sprite> loader = Assets.instance.getSpriterLoader();
    drawer = new LibGdxDrawer(loader, game.getBatch(), shapeRenderer);
    final headmade.arttag.spriter.Player player = new headmade.arttag.spriter.Player(
            Assets.instance.getMaggieSpriterData());
    player.setAnimation("run");
    player.setScale(ArtTag.UNIT_SCALE * 0.8f);
    players.add(player);

    smokeEffect = new ParticleEffect();
    smokeEffect.load(Gdx.files.internal(AssetParticles.smoke), Assets.instance.atlas);
    smokeEffect.scaleEffect(ArtTag.UNIT_SCALE);
    smokeEffectPool = new ParticleEffectPool(smokeEffect, 2, 4);

}