Example usage for com.badlogic.gdx Game setScreen

List of usage examples for com.badlogic.gdx Game setScreen

Introduction

In this page you can find the example usage for com.badlogic.gdx Game setScreen.

Prototype

public void setScreen(Screen screen) 

Source Link

Document

Sets the current screen.

Usage

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));
        }
    });
}