List of usage examples for com.badlogic.gdx Game setScreen
public void setScreen(Screen screen)
From source file:gui.screen.HelpScreen.java
/**------------------------CONSTRUCTOR------------------------**/ public HelpScreen(final Game game, final Client client, final Server server) { super(game, client, server); /**------------------------GET HELP BACKGROUND INTO ARRAY------------------------**/ // Indexes all help backgrounds till not found exception try {//from w w w . j ava 2s . c o m for (int i = 1; true; i++) { helpScreens.add(loadTexture("menu/help" + i + ".png")); } } catch (GdxRuntimeException e) { } /**------------------------SETUP------------------------**/ //Set input and viewpoint stage = new Stage(new StretchViewport(Constants.SCREENWIDTH, Constants.SCREENHEIGHT)); inputHandler.setInputSource(stage); //Set background rootTable.background(new TextureRegionDrawable(new TextureRegion(helpScreens.get(0)))); rootTable.setFillParent(true); stage.addActor(rootTable); //Initialise Font FreeTypeFontGenerator.FreeTypeFontParameter fontOptions = new FreeTypeFontGenerator.FreeTypeFontParameter(); fontOptions.size = 11; BitmapFont font = TextureManager.menuFont.generateFont(fontOptions); /**------------------------BACK BUTTON------------------------**/ TextButton.TextButtonStyle textButtonStyleBack = new TextButton.TextButtonStyle(); textButtonStyleBack.font = font; textButtonStyleBack.up = backSkin.getDrawable("button_up"); textButtonStyleBack.down = backSkin.getDrawable("button_down"); textButtonStyleBack.over = backSkin.getDrawable("button_checked"); /**------------------------ROUND BUTTON------------------------**/ TextButton.TextButtonStyle textButtonStyleRound = new TextButton.TextButtonStyle(); textButtonStyleRound.font = font; textButtonStyleRound.up = roundSkin.getDrawable("button_up"); textButtonStyleRound.down = roundSkin.getDrawable("button_down"); textButtonStyleRound.over = roundSkin.getDrawable("button_checked"); /**------------------------ALL BUTTONS------------------------**/ // Back button backButton = new TextButton("", textButtonStyleBack); backButton.setPosition(0, Constants.SCREENHEIGHT - backButton.getHeight() + 7); stage.addActor(backButton); //Slide right button slideRight = new TextButton(">>>", textButtonStyleRound); slideRight.setPosition(420, 20); stage.addActor(slideRight); //Slide right button slideLeft = new TextButton("<<<", textButtonStyleRound); slideLeft.setPosition(340, 20); stage.addActor(slideLeft); //Add click listener --> Back button backButton.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { //Add click musik AudioManager.playClickSound(); // Wait till sound is done try { Thread.sleep(100); } catch (InterruptedException ex) { } game.setScreen(new MenuScreen(game, client, server)); } }); //Add click listener --> Slide right slideRight.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { //Add click musik AudioManager.playClickSound(); //Wait till sound is done try { Thread.sleep(100); } catch (InterruptedException ex) { } nextBackground(); } }); //Add click listener --> Slide left slideLeft.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { //Add click musik AudioManager.playClickSound(); //Wait till sound is done try { Thread.sleep(100); } catch (InterruptedException ex) { } previousBackground(); } }); }
From source file:gui.screen.JoinScreen.java
/**------------------------CONSTRUCTOR----------------------- * @param game-**//*from w ww. ja va 2 s .c o m*/ public JoinScreen(final Game game, final Client client, final Server server) { super(game, client, server); //General Object initalisation this.stage = new Stage(new StretchViewport(Constants.SCREENWIDTH, Constants.SCREENHEIGHT)); this.stack = new Stack(); inputHandler.setInputSource(stage); //Initialise Font FreeTypeFontGenerator.FreeTypeFontParameter fontOptions = new FreeTypeFontGenerator.FreeTypeFontParameter(); // Label style Label.LabelStyle labelStyle = new Label.LabelStyle(); fontOptions.size = 14; labelStyle.font = TextureManager.menuFont.generateFont(fontOptions); labelStyle.fontColor = Color.BLACK; labelStyle.background = new TextureRegionDrawable( new TextureRegion(new Texture("menu/textBackground.png"))); /**------------------------BOMB BUTTON STYLE------------------------**/ TextButton.TextButtonStyle textButtonStyle = new TextButton.TextButtonStyle(); fontOptions.size = 11; textButtonStyle.font = TextureManager.menuFont.generateFont(fontOptions); textButtonStyle.up = skin.getDrawable("button_up"); textButtonStyle.down = skin.getDrawable("button_down"); textButtonStyle.over = skin.getDrawable("button_checked"); /**------------------------BACK BUTTON------------------------**/ TextButton.TextButtonStyle textButtonStyleBack = new TextButton.TextButtonStyle(); textButtonStyleBack.font = TextureManager.menuFont.generateFont(fontOptions); textButtonStyleBack.up = backSkin.getDrawable("button_up"); textButtonStyleBack.down = backSkin.getDrawable("button_down"); textButtonStyleBack.over = backSkin.getDrawable("button_checked"); /**------------------------BUTTON POSITION------------------------**/ rootTable = new Table(); rootTable.setFillParent(true); Table stackTable = new Table(); stackTable.setFillParent(true); fontOptions.size = 14; errorLabel = new Label("", labelStyle); errorLabel.setVisible(false); errorLabel.setAlignment(Align.center); stackTable.add(errorLabel).height(40).width(300).padBottom(15); stackTable.row(); //Add Textfield to screen ipTextField = new TextField("", skin); ipTextField.setMessageText("Server IP address..."); stackTable.add(ipTextField).width(230).padTop(25); stackTable.row(); // Put in last ip if (!connectionIp.isEmpty()) { ipTextField.setText(connectionIp); } //Add join button to screen joinButton = new TextButton("Join", textButtonStyle); stackTable.add(joinButton).padTop(30); stackTable.row(); //Set stack position stack.setPosition(287, 227); //End stage.addActor(rootTable); stage.addActor(stack); stack.add(stackTable); // Back button backButton = new TextButton("", textButtonStyleBack); backButton.setPosition(0, Constants.SCREENHEIGHT - backButton.getHeight() + 7); stage.addActor(backButton); //Add click listener --> Back button backButton.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { //Add click musik AudioManager.playClickSound(); //Wait till sound is done try { Thread.sleep(100); } catch (InterruptedException ex) { } game.setScreen(new MenuScreen(game, client, server)); } }); //Add click listener --> Start Game joinButton.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { AudioManager.playClickSound(); //Get the ip out of the textfield if (!ipTextField.getText().isEmpty()) { connectionIp = ipTextField.getText(); } else { connectionIp = "127.0.0.1"; } try { //Check if ip is valid if (validateIPAddress(connectionIp)) { //Connect to server client.setHost(connectionIp, Constants.CONNECTIONPORT); client.connectToServer(); System.out.println( "CLIENT: Connecting to server " + connectionIp + ":" + Constants.CONNECTIONPORT); AudioManager.getCurrentMusic().stop(); game.setScreen(new GameScreen(game, client, server)); } else { //Create error message on screen errorLabel.setText("Invalid IP address"); errorLabel.setVisible(true); } } catch (SocketException | UnknownHostException e) { //Create error message on screen errorLabel.setText("Connection refused"); errorLabel.setVisible(true); } catch (Exception e) { System.err.println("ERROR: Unexpected exception in joinScreen: " + e); Gdx.app.exit(); } } }); }
From source file:gui.screen.OptionScreen.java
public OptionScreen(final Game game, final Client client, final Server server) { super(game, client, server); //General Object initalisation stage = new Stage(new StretchViewport(Constants.SCREENWIDTH, Constants.SCREENHEIGHT)); inputHandler.setInputSource(stage);/*w w w .j av a 2s .c om*/ // Set map preview and background rootTable.background(new TextureRegionDrawable(new TextureRegion(TextureManager.hostBackground))); //Set background rootTable.setFillParent(true); stage.addActor(rootTable); //Initialise Font FreeTypeFontGenerator.FreeTypeFontParameter fontOptions = new FreeTypeFontGenerator.FreeTypeFontParameter(); fontOptions.size = 11; BitmapFont font = TextureManager.menuFont.generateFont(fontOptions); /**------------------------LABEL STYLE------------------------**/ Label.LabelStyle labelStyle = new Label.LabelStyle(); fontOptions.size = 14; labelStyle.font = TextureManager.menuFont.generateFont(fontOptions); labelStyle.fontColor = Color.BLACK; /**------------------------SOUND VOLUME SLIDER------------------------**/ Table table1 = new Table(); descriptSoundVolumeLabel = new Label("Sound Volume:", labelStyle); descriptSoundVolumeLabel.setAlignment(Align.center); table1.add(descriptSoundVolumeLabel).row(); showSoundVolumeLabel = new Label("", labelStyle); showSoundVolumeLabel.setText((int) (AudioManager.getSoundVolume() * 100) + "%"); table1.add(showSoundVolumeLabel).padTop(20).row(); soundVolumeSlider = new Slider(0, 1f, 0.1f, false, TextureManager.skin); soundVolumeSlider.setValue(AudioManager.getSoundVolume()); //soundVolumeSlider.setAnimateDuration(0.3f); table1.add(soundVolumeSlider).padTop(15); // Add to stage soundVolumeWidget.setPosition((Constants.SCREENWIDTH - soundVolumeWidget.getWidth()) / 2, 255); soundVolumeWidget.addActor(table1); stage.addActor(soundVolumeWidget); /**------------------------MUSIC VOLUME SLIDER------------------------**/ Table table2 = new Table(); descriptMusicVolumeLabel = new Label("Music Volume:", labelStyle); descriptMusicVolumeLabel.setAlignment(Align.center); table2.add(descriptMusicVolumeLabel).row(); showMusicVolumeLabel = new Label("", labelStyle); showMusicVolumeLabel.setText((int) (AudioManager.getMusicVolume() * 1000) + "%"); table2.add(showMusicVolumeLabel).padTop(20).row(); musicVolumeSlider = new Slider(0, 0.1f, 0.005f, false, TextureManager.skin); musicVolumeSlider.setValue(AudioManager.getMusicVolume()); //soundVolumeSlider.setAnimateDuration(0.3f); table2.add(musicVolumeSlider).padTop(15); // Add to stage musicVolumeWidget.setPosition((Constants.SCREENWIDTH - musicVolumeWidget.getWidth()) / 2, 410); musicVolumeWidget.addActor(table2); stage.addActor(musicVolumeWidget); /**------------------------CHECK BOX FULLSCREEN------------------------**/ checkBoxFullscreen = new CheckBox("Fullscreen", TextureManager.skin); checkBoxFullscreen.setPosition((Constants.SCREENWIDTH - checkBoxFullscreen.getWidth()) / 2, 140); checkBoxFullscreen.getStyle().fontColor = Color.BLACK; stage.addActor(checkBoxFullscreen); /**------------------------BACK BUTTON------------------------**/ TextButton.TextButtonStyle textButtonStyleBack = new TextButton.TextButtonStyle(); textButtonStyleBack.font = font; textButtonStyleBack.up = backSkin.getDrawable("button_up"); textButtonStyleBack.down = backSkin.getDrawable("button_down"); textButtonStyleBack.over = backSkin.getDrawable("button_checked"); /**------------------------OTHER BUTTONS------------------------**/ // Back button backbutton = new TextButton("", textButtonStyleBack); backbutton.setPosition(0, Constants.SCREENHEIGHT - backbutton.getHeight() + 7); stage.addActor(backbutton); /**------------------------CHANGE LISTENER------------------------**/ //Add click listener --> Music volume slider checkBoxFullscreen.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { if (!checkBoxFullscreen.isChecked()) { Gdx.graphics.setWindowedMode(Constants.SCREENWIDTH, Constants.SCREENHEIGHT); } else { Gdx.graphics.setFullscreenMode(Gdx.graphics.getDisplayMode()); } } }); //Add click listener --> Music volume slider musicVolumeSlider.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { AudioManager.setMusicVolume(musicVolumeSlider.getValue()); float musicVolume = (float) Math.round(AudioManager.getMusicVolume() * 1000); showMusicVolumeLabel.setText((int) musicVolume + "%"); AudioManager.getMenuMusic().setVolume(AudioManager.getMusicVolume()); } }); //Add click listener --> Sound volume slider soundVolumeSlider.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { AudioManager.setSoundVolume(soundVolumeSlider.getValue()); float soundVolume = (float) Math.round(AudioManager.getSoundVolume() * 100); showSoundVolumeLabel.setText((int) soundVolume + "%"); //Add click sound AudioManager.playClickSound(); } }); //Add click listener --> Back button backbutton.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { AudioManager.playClickSound(); //Wait till sound is done try { Thread.sleep(100); } catch (InterruptedException ex) { } game.setScreen(new MenuScreen(game, client, server)); } }); }
From source file:gui.screen.WinnerScreen.java
public WinnerScreen(ArrayList<Integer> playerPositions, final Game game, final Client client, final Server server) { super(game, client, server); //Set input and viewpoint stage = new Stage(new StretchViewport(Constants.SCREENWIDTH, Constants.SCREENHEIGHT)); inputHandler.setInputSource(stage);//from w w w . ja v a 2s .c o m // Unhides the cursor Gdx.input.setCursorCatched(false); this.playerPositions = playerPositions; //Set background rootTable.background(new TextureRegionDrawable(new TextureRegion(TextureManager.hostBackground))); rootTable.setFillParent(true); stage.addActor(rootTable); //Initialise Font FreeTypeFontGenerator.FreeTypeFontParameter fontOptions = new FreeTypeFontGenerator.FreeTypeFontParameter(); fontOptions.size = 11; BitmapFont font = TextureManager.menuFont.generateFont(fontOptions); /**------------------------LABEL STYLE------------------------**/ Label.LabelStyle labelStyle = new Label.LabelStyle(); fontOptions.size = 60; labelStyle.font = TextureManager.menuFont.generateFont(fontOptions); labelStyle.fontColor = Color.GOLD; /**------------------------PLAYER DISPLAY WIDGET------------------------**/ //Table options Table table = new Table(); table.setFillParent(true); //P1 spawn field p1Field = new Container(); p1Field.background( new TextureRegionDrawable((TextureRegion) TextureManager.p1WalkingDownAnim.getKeyFrame(0))); table.add(p1Field).width(64).height(64); //P2 spawn field p2Field = new Container(); p2Field.setVisible(false); p2Field.background( new TextureRegionDrawable((TextureRegion) TextureManager.p2WalkingDownAnim.getKeyFrame(0))); table.add(p2Field).width(64).height(64).padLeft(96); //P3 spawn field p3Field = new Container(); p3Field.setVisible(false); p3Field.background( new TextureRegionDrawable((TextureRegion) TextureManager.p3WalkingDownAnim.getKeyFrame(0))); table.add(p3Field).width(64).height(64).padLeft(96); //P4 spawn field p4Field = new Container(); p4Field.setVisible(false); p4Field.background( new TextureRegionDrawable((TextureRegion) TextureManager.p4WalkingDownAnim.getKeyFrame(0))); table.add(p4Field).width(64).height(64).padLeft(96); //Stage & group options joinedPlayerGroup.addActor(table); joinedPlayerGroup.setPosition(443, 150); stage.addActor(joinedPlayerGroup); /**------------------------PLAYER HIGHLIGHT WIDGET------------------------**/ //Table options Table table2 = new Table(); table2.setFillParent(true); //P1 spawn field p1FieldHighlight = new Container(); p1FieldHighlight.setVisible(false); p1FieldHighlight.background(new TextureRegionDrawable(new TextureRegion(TextureManager.playerMarker))); table2.add(p1FieldHighlight).width(80).height(77); //P2 spawn field p2FieldHighlight = new Container(); p2FieldHighlight.setVisible(false); p2FieldHighlight.background(new TextureRegionDrawable(new TextureRegion(TextureManager.playerMarker))); table2.add(p2FieldHighlight).width(80).height(77).padLeft(80); //P3 spawn field p3FieldHighlight = new Container(); p3FieldHighlight.setVisible(false); p3FieldHighlight.background(new TextureRegionDrawable(new TextureRegion(TextureManager.playerMarker))); table2.add(p3FieldHighlight).width(80).height(77).padLeft(80); //P4 spawn field p4FieldHighlight = new Container(); p4FieldHighlight.setVisible(false); p4FieldHighlight.background(new TextureRegionDrawable(new TextureRegion(TextureManager.playerMarker))); table2.add(p4FieldHighlight).width(80).height(77).padLeft(80); //Stage & group options playerhighlightWidget.addActor(table2); playerhighlightWidget.setPosition(442, 152); stage.addActor(playerhighlightWidget); /**------------------------LABELS------------------------**/ // Titel titel = new Label("", labelStyle); titel.setAlignment(Align.center); titel.setPosition((Constants.SCREENWIDTH - titel.getWidth()) / 2 + 50, 385); stage.addActor(titel); // If you are the winner if (Constants.PLAYERID == playerPositions.get(playerPositions.size() - 1)) { titel.setText("YOU WON!"); isWinner = true; } else { isWinner = false; titel.setText("YOU LOOSE!"); titel.setColor(Color.RED); } if (-1 == playerPositions.get(playerPositions.size() - 1)) { titel.setText("DRAW!"); titel.setColor(Color.DARK_GRAY); isWinner = false; } Table positionTable = new Table(); positionTable.setFillParent(true); p1Position = new Label("", labelStyle); p1Position.setAlignment(Align.center); p2Position = new Label("", labelStyle); p2Position.setAlignment(Align.center); p3Position = new Label("", labelStyle); p3Position.setAlignment(Align.center); p4Position = new Label("", labelStyle); p4Position.setAlignment(Align.center); positionTable.add(p1Position).width(64).height(64); positionTable.add(p2Position).width(64).height(64).padLeft(96); positionTable.add(p3Position).width(64).height(64).padLeft(96); positionTable.add(p4Position).width(64).height(64).padLeft(96); positionPlayerWidget.addActor(positionTable); positionPlayerWidget.setPosition(443, 230); stage.addActor(positionPlayerWidget); /**------------------------MUSIC------------------------**/ if (isWinner == false) { AudioManager.setCurrentMusic(AudioManager.getLooserMusic()); AudioManager.getCurrentMusic().setLooping(true); AudioManager.getCurrentMusic().play(); AudioManager.getCurrentMusic().setVolume(AudioManager.getMusicVolume() * 4); } else { AudioManager.setCurrentMusic(AudioManager.getWinnerMusic()); AudioManager.getCurrentMusic().setLooping(true); AudioManager.getCurrentMusic().play(); AudioManager.getCurrentMusic().setVolume(AudioManager.getMusicVolume() * 6); } /**------------------------BUTTONS------------------------**/ TextButton.TextButtonStyle textButtonStyleBack = new TextButton.TextButtonStyle(); textButtonStyleBack.font = font; textButtonStyleBack.up = backSkin.getDrawable("button_up"); textButtonStyleBack.down = backSkin.getDrawable("button_down"); textButtonStyleBack.over = backSkin.getDrawable("button_checked"); // Back button backButton = new TextButton("", textButtonStyleBack); backButton.setPosition(0, Constants.SCREENHEIGHT - backButton.getHeight() + 7); stage.addActor(backButton); renderPlayers(); //Add click listener --> Back button backButton.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { //Add click musik AudioManager.playClickSound(); // Wait till sound is done try { Thread.sleep(100); } catch (InterruptedException ex) { } if (isWinner) { AudioManager.getCurrentMusic().stop(); } else { AudioManager.getCurrentMusic().stop(); } server.stopServer(); game.setScreen(new MenuScreen(game, client, server)); } }); }