List of usage examples for com.badlogic.gdx.physics.box2d DestructionListener DestructionListener
DestructionListener
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); }