List of usage examples for com.badlogic.gdx.scenes.scene2d.utils ChangeListener ChangeListener
ChangeListener
From source file:awakening.view.menu.Controls.java
License:Apache License
@Override public void show() { ///Title//from ww w . j av a 2 s . c om title.setPosition(Gdx.app.getGraphics().getWidth() / 2 - title.getWidth() / 2, Gdx.app.getGraphics().getHeight() - 30); stage.addActor(title); ///Widgets Background widgetsBackground.setPosition(Gdx.app.getGraphics().getWidth() / 2 - widgetsBackground.getWidth() / 2, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2); stage.addActor(widgetsBackground); ///Back Button btnBack.setWidth(widgetsBackground.getWidth() / 2.5f - 20); btnBack.setPosition(Gdx.app.getGraphics().getWidth() / 2 - btnBack.getWidth() / 2, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 30); btnBack.addListener(new ClickListener() { @Override public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) { effect.play(game.getSoundVolume()); game.setScreen(new Options(game, sound, effect)); return false; } } ); stage.addActor(btnBack); ///Left Button btnLeft.setWidth(widgetsBackground.getWidth() / 2.5f - 20); btnLeft.setPosition(Gdx.app.getGraphics().getWidth() / 2 - btnLeft.getWidth() / 2, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 30 + 3 * btnBack.getHeight()); btnLeft.addListener(new ClickListener() { @Override public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) { effect.play(game.getSoundVolume()); return false; } } ); stage.addActor(btnLeft); lblLeft.setPosition(btnLeft.getX() - lblLeft.getWidth() - 10, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 30 + 3 * btnBack.getHeight()); stage.addActor(lblLeft); ///Right Button btnRight.setWidth(widgetsBackground.getWidth() / 2.5f - 20); btnRight.setPosition(Gdx.app.getGraphics().getWidth() / 2 - btnRight.getWidth() / 2, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 30 + 2 * btnBack.getHeight()); btnRight.addListener(new ClickListener() { @Override public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) { effect.play(game.getSoundVolume()); return false; } } ); stage.addActor(btnRight); lblRight.setPosition(btnRight.getX() - lblRight.getWidth() - 10, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 30 + 2 * btnBack.getHeight()); stage.addActor(lblRight); ///Down Button btnDown.setWidth(widgetsBackground.getWidth() / 2.5f - 20); btnDown.setPosition(Gdx.app.getGraphics().getWidth() / 2 - btnDown.getWidth() / 2, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 30 + 4 * btnLeft.getHeight()); btnDown.addListener(new ClickListener() { @Override public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) { effect.play(game.getSoundVolume()); return false; } } ); stage.addActor(btnDown); lblDown.setPosition(btnDown.getX() - lblDown.getWidth() - 10, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 30 + 4 * btnLeft.getHeight()); stage.addActor(lblDown); ///Up Button btnUp.setWidth(widgetsBackground.getWidth() / 2.5f - 20); btnUp.setPosition(Gdx.app.getGraphics().getWidth() / 2 - btnUp.getWidth() / 2, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 30 + 5 * btnDown.getHeight()); btnUp.addListener(new ClickListener() { @Override public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) { effect.play(game.getSoundVolume()); return false; } } ); stage.addActor(btnUp); lblUp.setPosition(btnUp.getX() - lblUp.getWidth() - 10, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 30 + 5 * btnDown.getHeight()); stage.addActor(lblUp); ///Zoom In Button btnZoomIn.setWidth(widgetsBackground.getWidth() / 2.5f - 20); btnZoomIn.setPosition(Gdx.app.getGraphics().getWidth() / 2 - btnUp.getWidth() / 2, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 30 + 6 * btnBack.getHeight()); btnZoomIn.addListener(new ClickListener() { @Override public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) { effect.play(game.getSoundVolume()); return false; } } ); stage.addActor(btnZoomIn); lblZoomIn.setPosition(btnZoomIn.getX() - lblZoomIn.getWidth() - 10, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 30 + 6 * btnBack.getHeight()); stage.addActor(lblZoomIn); ///Zoom In Button btnZoomOut.setWidth(widgetsBackground.getWidth() / 2.5f - 20); btnZoomOut.setPosition(Gdx.app.getGraphics().getWidth() / 2 - btnZoomOut.getWidth() / 2, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 30 + 7 * btnBack.getHeight()); btnZoomOut.addListener(new ClickListener() { @Override public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) { effect.play(game.getSoundVolume()); return false; } } ); stage.addActor(btnZoomOut); lblZoomOut.setPosition(btnZoomOut.getX() - lblZoomOut.getWidth() - 10, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 30 + 7 * btnBack.getHeight()); stage.addActor(lblZoomOut); ///Language SelectBox if (game.getLanguage().equals("ENGLISH")) { slbLangages.setSelected("English"); } else if (game.getLanguage().equals("FRENCH")) { slbLangages.setSelected("Francais"); } else if (game.getLanguage().equals("ITALIAN")) { slbLangages.setSelected("Italiano"); } slbLangages.setWidth(widgetsBackground.getWidth() / 2.5f - 20); slbLangages.setPosition(Gdx.app.getGraphics().getWidth() / 2 - slbLangages.getWidth() / 2, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 30 + 9 * btnBack.getHeight()); slbLangages.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { System.out.println(slbLangages.getSelected()); if (slbLangages.getSelected().equals("English")) { game.setLanguage("ENGLISH"); try { language = ResourceBundle.getBundle("awakening.menu.res_en_EN", locales[0]); } catch (java.util.MissingResourceException e) { System.out.println("yolo1"); } } else if (slbLangages.getSelected().equals("Francais")) { game.setLanguage("FRENCH"); try { language = ResourceBundle.getBundle("awakening.menu.res_fr_FR", locales[1]); } catch (java.util.MissingResourceException e) { System.out.println("yolo2"); } } else if (slbLangages.getSelected().equals("Italiano")) { game.setLanguage("ITALIAN"); try { language = ResourceBundle.getBundle("awakening.menu.res_it_IT", locales[2]); } catch (java.util.MissingResourceException e) { System.out.println("yolo3"); } } } }); stage.addActor(slbLangages); lblLangage.setPosition(slbLangages.getX() - lblLangage.getWidth() - 10, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 30 + 9 * btnBack.getHeight()); stage.addActor(lblLangage); }
From source file:awakening.view.menu.Graphics.java
License:Apache License
@Override public void show() { Gdx.input.setInputProcessor(stage);//from w ww . j av a2 s .c om ///Title title.setPosition(Gdx.app.getGraphics().getWidth() / 2 - title.getWidth() / 2, Gdx.app.getGraphics().getHeight() - 30); stage.addActor(title); ///Widgets Background widgetsBackground.setPosition(Gdx.app.getGraphics().getWidth() / 2 - widgetsBackground.getWidth() / 2, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2); stage.addActor(widgetsBackground); ///Back Button btnBack.setWidth(widgetsBackground.getWidth() - 20); btnBack.setPosition(Gdx.app.getGraphics().getWidth() / 2 - widgetsBackground.getWidth() / 2 + 10, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 30); btnBack.addListener(new ClickListener() { @Override public boolean touchDown(InputEvent e, float x, float y, int pointer, int button) { effect.play(game.getSoundVolume()); game.setScreen(new Options(game, sound, effect)); return false; } } ); stage.addActor(btnBack); ///Fullscreen CheckBox cbxFullscreen.setPosition(Gdx.app.getGraphics().getWidth() / 2 - widgetsBackground.getWidth() / 2 + 10, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 40 + btnBack.getHeight()); if (game.isFullscreen()) { cbxFullscreen.setChecked(true); } stage.addActor(cbxFullscreen); ///Resolution SelectBox slbResolutions.setPosition(Gdx.app.getGraphics().getWidth() / 2 - widgetsBackground.getWidth() / 2 + 10, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 70 + cbxFullscreen.getHeight()); slbResolutions.setWidth(widgetsBackground.getWidth() - 20); TAScreenSize[] sizes = new TAScreenSize[Gdx.graphics.getDisplayModes().length]; int i = 0; for (DisplayMode d : Gdx.graphics.getDisplayModes()) { TAScreenSize screen = new TAScreenSize(d.width, d.height); sizes[i] = screen; i++; } Arrays.sort(sizes); slbResolutions.setItems(sizes); i = 0; while (sizes[i].width != Gdx.app.getGraphics().getWidth() && sizes[i].height != Gdx.app.getGraphics().getHeight() && i < Gdx.graphics.getDisplayModes().length) { i++; } slbResolutions.setSelectedIndex(i); slbResolutions.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { System.out.println(slbResolutions.getSelected()); } }); stage.addActor(slbResolutions); ///Resolution Label lblResolution.setPosition(Gdx.app.getGraphics().getWidth() / 2 - widgetsBackground.getWidth() / 2 + 10, Gdx.app.getGraphics().getHeight() / 2 - widgetsBackground.getHeight() / 2 + 90 + slbResolutions.getHeight()); stage.addActor(lblResolution); }
From source file:ca.hiphiparray.amazingmaze.ContinueScreen.java
License:Open Source License
/** * The constructor for ContinueScreen.// w ww . ja v a2 s .co m * * @param game the {@link AmazingMazeGame} instance that is managing this screen. * @param won if the player won. */ public ContinueScreen(final AmazingMazeGame game, final boolean won) { this.game = game; stage = new Stage(new ScreenViewport(), this.game.batch); labelTable = new Table(); optionTable = new Table(); labelTable.setFillParent(true); labelTable.top().center(); optionTable.setFillParent(true); optionTable.bottom(); labelTable.background(new TextureRegionDrawable( new TextureRegion(this.game.assets.manager.get(Assets.MINI_BACKGROUND, Texture.class)))); if (won) { resultLabel = new Label("You got the antidote!", game.assets.skin, Assets.WHITE_SANS_STYLE); resultDescriptionLabel = new Label("Continute searching for more to help others or quit the maze?", game.assets.skin, Assets.WHITE_SANS_STYLE); } else { resultLabel = new Label("You lose!", game.assets.skin, Assets.WHITE_SANS_STYLE); resultDescriptionLabel = new Label("Go back to last checkpoint or quit?", game.assets.skin, Assets.WHITE_SANS_STYLE); } currentScoreLabel = new Label("Your current score: " + game.save.getScore(), game.assets.skin, Assets.WHITE_SANS_STYLE); continueButton = new TextButton("Continue", game.assets.skin); continueButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (continueButton.isPressed()) { if (!won) { int nextLevel = 5 * (game.save.getLevel() / 5) + 1; int startScore = game.save.getStartScore(); game.save.resetSave(); game.save.setLevel(nextLevel); game.save.setStartScore(startScore); game.save.setScore(startScore); } else { game.save.setStartScore(game.save.getScore()); } game.setScreen(new MazeScreen(game, false)); } } }); quitButton = new TextButton("Quit", game.assets.skin); quitButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (quitButton.isPressed()) { highScoreDialog(); } } }); labelTable.add(resultLabel).pad(20); labelTable.row(); labelTable.add(resultDescriptionLabel).pad(20); labelTable.row(); labelTable.add(currentScoreLabel).pad(20); optionTable.add(continueButton).minSize(Gdx.graphics.getWidth() / 8, Gdx.graphics.getHeight() / 20) .maxSize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight() / 8) .prefSize(Gdx.graphics.getWidth() / 5, Gdx.graphics.getHeight() / 10).padBottom(10).pad(20); optionTable.row(); optionTable.add(quitButton).minSize(Gdx.graphics.getWidth() / 8, Gdx.graphics.getHeight() / 20) .maxSize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight() / 8) .prefSize(Gdx.graphics.getWidth() / 5, Gdx.graphics.getHeight() / 10).pad(20).padBottom(40); stage.addActor(labelTable); stage.addActor(optionTable); }
From source file:ca.hiphiparray.amazingmaze.ContinueScreen.java
License:Open Source License
/** * Displays the high score dialog.//w w w . j ava 2 s .co m */ public void highScoreDialog() { Label.LabelStyle labelStyle = new Label.LabelStyle( game.assets.getFont(Assets.MONO_REGULAR, Assets.SMALL_FONT_SIZE), Color.WHITE); final Dialog dialog = new Dialog("High Score", game.assets.skin); final TextButton okButton = new TextButton("OK", game.assets.skin); dialog.getButtonTable().bottom(); Label label = new Label("Enter your name:", labelStyle); label.setScale(.5f); label.setWrap(true); label.setAlignment(Align.center); final TextField nameField = new TextField("", game.assets.skin); dialog.add(label).width(500).pad(50); dialog.add(nameField); dialog.add(okButton).bottom(); nameField.setTextFieldListener(new TextFieldListener() { @Override public void keyTyped(TextField textField, char key) { name = formatString(nameField.getText()); if (!name.equals("")) { if (key == (char) 13) { displayHighScores(name); } } } }); okButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { name = formatString(nameField.getText()); if (!name.equals("")) { if (okButton.isPressed()) { dialog.hide(); displayHighScores(name); } } } }); dialog.addListener(new InputListener() { @Override public boolean keyDown(InputEvent event, int keycode) { name = formatString(nameField.getText()); if (!name.equals("")) { if (keycode == Keys.ENTER) { displayHighScores(name); return true; } } return false; } }); dialog.show(stage); }
From source file:ca.hiphiparray.amazingmaze.FishMiniGame.java
License:Open Source License
/** * Constructor for FishMiniGame.// www . j a v a 2 s .c o m * * @param game the {@link AmazingMazeGame} instance that is managing this screen. * @param player the {@link Player} instance that completed the last level. */ public FishMiniGame(final AmazingMazeGame game, Player player) { this.game = game; this.player = player; fishNumber = new int[5]; fishNumber[0] = this.player.blueCollected; fishNumber[1] = this.player.purpleCollected; fishNumber[2] = this.player.greenCollected; fishNumber[3] = this.player.redCollected; fishNumber[4] = this.player.orangeCollected; answer = 0; for (int i = 0; i < fishNumber.length; i++) { answer += fishNumber[i] * fishValue[i]; } stage = new Stage(new ScreenViewport(), this.game.batch); menuTable = new Table(); fishTable = new Table(); canvas = new Canvas( new Pixmap(Gdx.graphics.getWidth(), Gdx.graphics.getHeight() + shift, Pixmap.Format.RGB565)); menuTable.setFillParent(true); menuTable.top(); fishTable.bottom(); fishTable.setFillParent(true); fishImage = new Image[5]; TextureAtlas atlas = this.game.assets.manager.get(Assets.GAME_ATLAS_LOCATION, TextureAtlas.class); fishImage[0] = new Image(atlas.findRegion(Assets.FISH + Assets.BLUE_MODIFIER)); fishImage[0].setScale(4f); fishImage[1] = new Image(atlas.findRegion(Assets.FISH + Assets.PURPLE_MODIFIER)); fishImage[1].setScale(4f); fishImage[2] = new Image(atlas.findRegion(Assets.FISH + Assets.GREEN_MODIFIER)); fishImage[2].setScale(4f); fishImage[3] = new Image(atlas.findRegion(Assets.FISH + Assets.RED_MODIFIER)); fishImage[3].setScale(4f); fishImage[4] = new Image(atlas.findRegion(Assets.FISH + Assets.ORANGE_MODIFIER)); fishImage[4].setScale(4f); pencilButton = new Button(new TextureRegionDrawable( new TextureRegion(this.game.assets.manager.get(Assets.PENCIL_BUTTON, Texture.class)))); pencilButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (pencilButton.isPressed()) { canvas.setColor(drawColor); } } }); eraserButton = new Button(new TextureRegionDrawable( new TextureRegion(this.game.assets.manager.get(Assets.ERASER_BUTTON, Texture.class)))); eraserButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (eraserButton.isPressed()) { canvas.setColor(clearColor); } } }); helpButton = new Button(new TextureRegionDrawable( new TextureRegion(this.game.assets.manager.get(Assets.HELP_BUTTON, Texture.class)))); helpButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (helpButton.isPressed()) { Label.LabelStyle labelStyle = new Label.LabelStyle( game.assets.getFont(Assets.MONO_REGULAR, Assets.SMALL_FONT_SIZE), Color.WHITE); final Dialog dialog = new Dialog("Help", game.assets.skin); final TextButton okButton = new TextButton("OK", game.assets.skin); dialog.getButtonTable().bottom(); Label label = new Label("Find the total value of fish that you retrieved!\n" + "Each colour corresponds to the colour of Canadian money.\n" + "The numbers correspond to each number of fish you got.\n\n" + "In case you forgot: blue is 5, purple is 10, green is 20, red is 50, and orange is 100.", labelStyle); label.setScale(.5f); label.setWrap(true); label.setAlignment(Align.center); dialog.add(label).width(500).pad(50); dialog.add(okButton).bottom(); okButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (okButton.isPressed()) { dialog.hide(); canvas.setColor(drawColor); } } }); dialog.key(Keys.ENTER, true); dialog.show(stage); } } }); checkButton = new Button(new TextureRegionDrawable( new TextureRegion(this.game.assets.manager.get(Assets.CHECK_BUTTON, Texture.class)))); checkButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { dialog(); } }); clearButton = new Button(new TextureRegionDrawable( new TextureRegion(this.game.assets.manager.get(Assets.CLEAR_BUTTON, Texture.class)))); clearButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (clearButton.isPressed()) { canvas.clear(); canvas.setColor(drawColor); } } }); answerField = new TextField("", game.assets.skin); answerField.setTextFieldListener(new TextFieldListener() { @Override public void keyTyped(TextField textField, char key) { if (key == (char) 13) { stage.unfocus(answerField); dialog(); } } }); stage.addActor(menuTable); stage.addActor(canvas); stage.addActor(fishTable); menuTable.clear(); fishTable.clear(); helpButton.right(); menuTable.background(new TextureRegionDrawable( new TextureRegion(this.game.assets.manager.get(Assets.MINI_BACKGROUND, Texture.class)))); menuTable.add(pencilButton).pad(10).size(64); menuTable.add(eraserButton).pad(10).size(64); menuTable.add(clearButton).pad(10).size(64); menuTable.add(helpButton).pad(10).size(64); menuTable.row(); Label.LabelStyle labelStyle = new Label.LabelStyle( game.assets.getFont(Assets.SANS_REGULAR, Assets.REGULAR_FONT_SIZE), Color.WHITE); for (int i = 0; i < 5; i++) { fishTable.add(fishImage[i]).bottom().left().padLeft(10); } fishTable.add(answerField).minWidth(150).padLeft(150); fishTable.add(checkButton).pad(10).size(64); fishTable.row(); for (int i = 0; i < 5; i++) { fishTable.add(new Label(fishNumber[i] + "", labelStyle)).pad(30).center(); } fishTable.row(); setupPauseMenu(); input = new InputMultiplexer(stage, this); input.addProcessor(pauseMenu); }
From source file:ca.hiphiparray.amazingmaze.FishMiniGame.java
License:Open Source License
/** Create the pause menu. */ private void setupPauseMenu() { pauseMenu = new Stage(new ScreenViewport(), game.batch); Table table = new Table(); table.setFillParent(true);/*from w w w .j a v a 2 s . c o m*/ table.center(); pauseMenu.addActor(table); TextButton resumeButton = new TextButton("Resume", game.assets.skin); resumeButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { paused = false; } }); table.add(resumeButton).pad(10).width(Gdx.graphics.getWidth() / 4).height(Gdx.graphics.getHeight() / 8); table.row(); TextButton settingsButton = new TextButton("Settings", game.assets.skin); final Screen sourceScreen = this; settingsButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { game.settingsScreen.setSourceScreen(sourceScreen); game.setScreen(game.settingsScreen); } }); table.add(settingsButton).pad(10).width(Gdx.graphics.getWidth() / 4).height(Gdx.graphics.getHeight() / 8); table.row(); TextButton quitButton = new TextButton("Quit", game.assets.skin); quitButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { game.save.setLevel(game.save.getLevel() - 1); game.setScreen(game.menuScreen); } }); table.add(quitButton).pad(10).width(Gdx.graphics.getWidth() / 4).height(Gdx.graphics.getHeight() / 8); }
From source file:ca.hiphiparray.amazingmaze.FishMiniGame.java
License:Open Source License
/** * Displays the results dialog.//from ww w . java 2 s .c o m */ public void dialog() { message = formatString(answerField.getText()); Label.LabelStyle labelStyle = new Label.LabelStyle( game.assets.getFont(Assets.MONO_REGULAR, Assets.SMALL_FONT_SIZE), Color.WHITE); final Dialog dialog = new Dialog("Results", game.assets.skin); final TextButton okButton = new TextButton("OK", game.assets.skin); dialog.getButtonTable().bottom(); if (checkAnswer() == -1) { Label label = new Label("Invalid answer. Please try again.", labelStyle); label.setScale(.5f); label.setWrap(true); label.setAlignment(Align.center); dialog.add(label).width(500).pad(50); dialog.add(okButton).bottom(); okButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (okButton.isPressed()) { dialog.hide(); canvas.setColor(drawColor); } } }); dialog.addListener(new InputListener() { @Override public boolean keyDown(InputEvent event, int keycode) { if (keycode == Keys.ENTER) { dialog.hide(); return true; } return false; } }); } else { Label label = new Label("Your answer was: " + message + ". " + "The correct answer was: " + answer + ". " + "You get " + checkAnswer() + " back!", labelStyle); game.save.addScore(checkAnswer()); game.save.setLives(player.getLives()); label.setScale(.5f); label.setWrap(true); label.setAlignment(Align.center); dialog.add(label).width(500).pad(50); dialog.add(okButton).bottom(); okButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (okButton.isPressed()) { dialog.cancel(); if ((game.save.getLevel() - 1) % 5 == 0) { game.setScreen(new ContinueScreen(game, true)); } else { game.setScreen(new MazeScreen(game, false)); } } } }); dialog.addListener(new InputListener() { @Override public boolean keyDown(InputEvent event, int keycode) { if (keycode == Keys.ENTER) { if ((game.save.getLevel() - 1) % 5 == 0) { game.setScreen(new ContinueScreen(game, true)); } else { game.setScreen(new MazeScreen(game, false)); } return true; } return false; } }); } dialog.show(stage); }
From source file:ca.hiphiparray.amazingmaze.HighScoresScreen.java
License:Open Source License
@Override public void show() { Gdx.input.setInputProcessor(stage);/*from ww w . j av a2s . c om*/ game.music.setSong(Song.MENU); stage.clear(); table = new Table(); table.setFillParent(true); table.top(); stage.addActor(table); Label header = new Label("High Scores", game.assets.skin, Assets.SANS_HEADER_STYLE); table.add(header).pad(Gdx.graphics.getHeight() / 20).colspan(3); table.row(); HighScore[] scores = game.save.getHighScores(); for (int i = 0; i < scores.length; i++) { Label position = new Label(Integer.toString(i + 1) + ". ", game.assets.skin); Label name = new Label(scores[i].getName(), game.assets.skin); Label score = new Label(Integer.toString(scores[i].getScore()), game.assets.skin); if (scores[i].getScore() < 0) { score.setText(""); } table.add(position).padBottom(Gdx.graphics.getHeight() / 50); table.add(name).left().padBottom(Gdx.graphics.getHeight() / 50).padRight(Gdx.graphics.getWidth() / 32); table.add(score).padBottom(Gdx.graphics.getHeight() / 50).right(); table.row(); } final TextButton resetButton = new TextButton("Reset High Scores", game.assets.skin); resetButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (resetButton.isPressed()) { game.save.resetScores(); game.setScreen(game.highScoresScreen); } } }); table.add(resetButton).colspan(3); table.row(); final TextButton menuButton = new TextButton("Main Menu", game.assets.skin); menuButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (menuButton.isPressed()) { game.setScreen(game.menuScreen); } } }); table.add(menuButton).colspan(3).pad(10); }
From source file:ca.hiphiparray.amazingmaze.MainMenuScreen.java
License:Open Source License
/** * Creates the main menu.//from w w w . ja va 2 s . c o m * * @param game The instance for the AmazingMazeGame used. */ public MainMenuScreen(final AmazingMazeGame game) { this.game = game; menu = new Stage(new ScreenViewport(), this.game.batch); table = new Table(); table.setFillParent(true); table.bottom(); menu.addActor(table); menuTitle = new Image(this.game.assets.manager.get(Assets.GAME_LOGO, Texture.class)); // Play playButton = new TextButton("Play", game.assets.skin); playButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (playButton.isPressed()) { game.setScreen(game.storyScreen); } } }); // Help helpButton = new TextButton("Help", game.assets.skin); helpButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (helpButton.isPressed()) { game.setScreen(new HelpScreen(game)); } } }); // Settings settingsButton = new TextButton("Settings", game.assets.skin); settingsButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (settingsButton.isPressed()) { game.setScreen(game.settingsScreen); } } }); // Credits creditsButton = new TextButton("Credits", game.assets.skin); creditsButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (creditsButton.isPressed()) { game.setScreen(new CreditsScreen(game)); } } }); licenseDialog = new Dialog("License Information", game.assets.skin); licenseDialog.button("Okay"); licenseDialog.text( "Amazing Maze is an educational game created in Java with the libGDX library.\n" + "Copyright (C) 2017 Hip Hip Array\n" + "\n" + "Amazing Maze is free software: you can redistribute it and/or modify\n" + "it under the terms of the GNU General Public License as published by\n" + "the Free Software Foundation, either version 3 of the License, or\n" + "(at your option) any later version.\n" + "\n" + "Amazing Maze is distributed in the hope that it will be useful,\n" + "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" + "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" + "GNU General Public License for more details.\n" + "\n" + "You should have received a copy of the GNU General Public License\n" + "along with Amazing Maze. If not, see <http://www.gnu.org/licenses/>.", game.assets.skin.get(Assets.WHITE_SANS_STYLE, LabelStyle.class)); // License licenseButton = new TextButton("License", game.assets.skin); licenseButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (licenseButton.isPressed()) { licenseDialog.show(menu); } } }); // High scores highScoresButton = new TextButton("High Scores", game.assets.skin); highScoresButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (highScoresButton.isPressed()) { game.setScreen(game.highScoresScreen); } } }); // Quit quitButton = new TextButton("Quit", game.assets.skin); quitButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { if (quitButton.isPressed()) { game.save.writeScores(); game.save.writeSettings(); Gdx.app.exit(); } } }); }
From source file:ca.hiphiparray.amazingmaze.MazeScreen.java
License:Open Source License
/** Create the pause menu. */ private void setupPauseMenu() { pauseMenu = new Stage(new ScreenViewport(), game.batch); Table table = new Table(); table.setFillParent(true);/*from ww w . j a v a2s. c o m*/ table.center(); pauseMenu.addActor(table); TextButton resumeButton = new TextButton("Resume", game.assets.skin); resumeButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { paused = false; } }); table.add(resumeButton).pad(10).width(Gdx.graphics.getWidth() / 4).height(Gdx.graphics.getHeight() / 8); table.row(); TextButton settingsButton = new TextButton("Settings", game.assets.skin); final Screen sourceScreen = this; settingsButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { game.settingsScreen.setSourceScreen(sourceScreen); game.setScreen(game.settingsScreen); } }); table.add(settingsButton).pad(10).width(Gdx.graphics.getWidth() / 4).height(Gdx.graphics.getHeight() / 8); table.row(); TextButton quitButton = new TextButton("Main Menu", game.assets.skin); quitButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { game.setScreen(game.menuScreen); } }); table.add(quitButton).pad(10).width(Gdx.graphics.getWidth() / 4).height(Gdx.graphics.getHeight() / 8); }