Example usage for com.badlogic.gdx.scenes.scene2d.ui Button Button

List of usage examples for com.badlogic.gdx.scenes.scene2d.ui Button Button

Introduction

In this page you can find the example usage for com.badlogic.gdx.scenes.scene2d.ui Button Button.

Prototype

public Button(Drawable up) 

Source Link

Usage

From source file:ca.hiphiparray.amazingmaze.FishMiniGame.java

License:Open Source License

/**
 * Constructor for FishMiniGame./* w w  w.  jav  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:com.andgate.ikou.view.MainMenuScreen.java

License:Open Source License

public void buildStage() {
    stage.clear();/*  ww w. ja va2s  .c om*/
    stage.getViewport().setWorldSize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    stage.getViewport().update(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), true);

    final LabelStyle titleLabelStyle = new LabelStyle(game.logoFont, Color.CYAN);
    final ShaderLabel titleLabel = new ShaderLabel(Constants.GAME_NAME, titleLabelStyle, game.fontShader);

    final LabelStyle buttonLabelStyle = new LabelStyle(game.menuOptionFont, Color.WHITE);
    final ButtonStyle buttonStyle = new ButtonStyle(game.skin.getDrawable("default-round"),
            game.skin.getDrawable("default-round-down"), game.skin.getDrawable("default-round"));

    final ShaderLabel playButtonLabel = new ShaderLabel(PLAY_BUTTON_TEXT, buttonLabelStyle, game.fontShader);
    final Button playButton = new Button(buttonStyle);
    playButton.add(playButtonLabel);

    playButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            //game.buttonPressedSound.play();
            game.setScreen(new LevelSelectScreen(game));
            MainMenuScreen.this.dispose();
        }
    });

    final ShaderLabel buildButtonLabel = new ShaderLabel(BUILD_BUTTON_TEXT, buttonLabelStyle, game.fontShader);
    final Button buildButton = new Button(buttonStyle);
    buildButton.add(buildButtonLabel);

    buildButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            //game.buttonPressedSound.play();
            game.setScreen(new LevelBuilderScreen(game));
            MainMenuScreen.this.dispose();
        }
    });

    Table table = new Table();

    table.add(titleLabel).center().top().spaceBottom(25.0f).row();
    table.add(playButton).fill().spaceBottom(20.0f).center().bottom().row();
    table.add(buildButton).fill().spaceBottom(20.0f).center().bottom().row();

    table.setFillParent(true);

    stage.addActor(table);
}

From source file:com.binarytenshi.nopassing.state.MenuGameScreen.java

public MenuGameScreen() {
    stage = new Stage();

    background = new Image(new Texture(FileHelper.getFile(Path.Menu, "back.png")));

    Texture playTexture = new Texture(FileHelper.getFile(Path.Menu, "play.png"));
    Texture quitTexture = new Texture(FileHelper.getFile(Path.Menu, "quit.png"));

    ButtonStyle style = new ButtonStyle();

    style.up = new TextureRegionDrawable(new TextureRegion(playTexture, 1024, 256));
    Button playButton = new Button(style);
    playButton.setBounds(25, 50, 128, 32);
    playButton.addListener(new ClickListener() {
        @Override//from  w  ww .  j av a  2  s  . c  o m
        public void clicked(InputEvent event, float x, float y) {
            NoPassing.instance.setScreen(GameScreen.Game.getScreen());
        }
    });

    style = new ButtonStyle();
    style.up = new TextureRegionDrawable(new TextureRegion(quitTexture, 1024, 256));
    Button quitButton = new Button(style);
    quitButton.setBounds(CameraHandler.getCamera().viewportWidth - 25 - 128, 50, 128, 32);
    quitButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            Gdx.app.exit();
        }
    });

    stage.addActor(background);
    stage.addActor(playButton);
    stage.addActor(quitButton);
}

From source file:com.bladecoder.engine.ui.InventoryUI.java

License:Apache License

public InventoryUI(SceneScreen scr, ScenePointer pointer) {
    style = scr.getUI().getSkin().get(InventoryUIStyle.class);
    sceneScreen = scr;//from   w w  w .j av a2 s .  c  om
    this.pointer = pointer;

    inventoryPos = InventoryPos.valueOf(Config.getProperty(Config.INVENTORY_POS_PROP, "DOWN").toUpperCase());

    autosize = Config.getProperty(Config.INVENTORY_AUTOSIZE_PROP, true);

    addListener(new InputListener() {
        @Override
        public void touchUp(InputEvent event, float x, float y, int pointer, int button) {

            if (draggedActor != null) {
                stopDragging(button);
            } else {
                InteractiveActor actor = getItemAt(x, y);

                if (actor != null) {
                    sceneScreen.actorClick(actor, button);
                } else {
                    hide();
                }
            }

        }

        @Override
        public boolean mouseMoved(InputEvent event, float x, float y) {

            return true;
        }

        @Override
        public void touchDragged(InputEvent event, float x, float y, int pointer) {
            if (draggedActor == null)
                startDragging(x, y);
        }

        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            return true;
        }

        @Override
        public void exit(InputEvent event, float x, float y, int pointer,
                com.badlogic.gdx.scenes.scene2d.Actor toActor) {

            // EngineLogger.debug("EXIT EVENT: " + toActor);
            if (!(toActor instanceof PieMenu) && !(toActor instanceof InventoryUI) && draggedActor != null)
                hide();
        }
    });

    if (style.menuButtonStyle != null) {
        menuButton = new Button(style.menuButtonStyle);

        addActor(menuButton);
        menuButton.addListener(new ChangeListener() {
            @Override
            public void changed(ChangeEvent event, com.badlogic.gdx.scenes.scene2d.Actor actor) {
                sceneScreen.getUI().setCurrentScreen(UI.Screens.MENU_SCREEN);
            }
        });

        float iconSize = DPIUtils.getPrefButtonSize();

        menuButton.setSize(iconSize, iconSize);
    }
}

From source file:com.bladecoder.engine.ui.LoadSaveScreen.java

License:Apache License

/**
 * Creates a button to represent one slot
 *
 * @param slot/*  ww w.j  a va  2s  .  c o m*/
 * @return The button to use for one slot
 */
private Button getSlotButton(String slot) {
    final Skin skin = ui.getSkin();
    final Button button = new Button(new ButtonStyle());
    final ButtonStyle style = button.getStyle();
    style.up = style.down = skin.getDrawable("black");

    String textLabel = I18N.getString("ui.newSlot");
    button.setSize(slotWidth, slotHeight);

    if (slotExists(slot)) {
        button.add(getScreenshot(slot)).maxSize(slotWidth * .95f, slotHeight * .95f);

        try {
            long l = Long.parseLong(slot);

            Date d = new Date(l);
            textLabel = (new SimpleDateFormat()).format(d);
        } catch (Exception e) {
            textLabel = slot;
        }

        button.addListener(loadClickListener);
    } else {
        Image fg = new Image(skin.getDrawable("plus"));
        button.add(fg).maxSize(slotHeight / 2, slotHeight / 2);

        button.addListener(saveClickListener);
    }

    button.row();

    Label label = new Label(textLabel, skin);
    label.setAlignment(Align.center);

    button.add(label).fillX();

    button.setName(slot);
    return button;
}

From source file:com.blastedstudios.gdxworld.util.ui.Scene2DUtils.java

License:Apache License

/** creates a {@link Button} according to the given {@link ButtonStyle} instance that may be {@link ButtonStyle}, {@link TextButtonStyle}, {@link ImageButtonStyle} or {@link ImageTextButtonStyle} */
public static Button newButton(ButtonStyle style, String textIfAny) {
    if (style instanceof ImageTextButtonStyle)
        return new ImageTextButton(textIfAny, (ImageTextButtonStyle) style);
    if (style instanceof TextButtonStyle)
        return new TextButton(textIfAny, (TextButtonStyle) style);
    if (style instanceof ImageButtonStyle)
        return new ImageButton((ImageButtonStyle) style);
    return new Button(style);
}

From source file:com.forerunnergames.peril.client.ui.widgets.AbstractWidgetFactory.java

License:Open Source License

@Override
public Button createButton(final Button.ButtonStyle style) {
    Arguments.checkIsNotNull(style, "style");

    return new Button(style);
}

From source file:com.forerunnergames.peril.client.ui.widgets.personicons.players.AbstractNullPlayerIconWidgetFactory.java

License:Open Source License

@Override
public Button createPlayerIconButton(final PlayerColor color) {
    return new Button(createPlayerIconStyle(color));
}

From source file:com.jumpbuttonstudios.vikingdodge.ui.popup.GameOverPopup.java

License:Apache License

@Override
public void create() {
    setScreenPositions(vikingDodge.getUi().getWidth() / 2 - (background.getWidth() / 2),
            vikingDodge.getUi().getHeight() * 1.25f,
            vikingDodge.getUi().getWidth() / 2 - (background.getWidth() / 2),
            vikingDodge.getUi().getHeight() / 2 - (background.getHeight() / 2.5f));

    mainmenu = new Button(Assets.skin.get("mainmenuGoButton", ButtonStyle.class));
    playagain = new Button(Assets.skin.get("playagainButton", ButtonStyle.class));
    highscores = new Button(Assets.skin.get("highscores", ButtonStyle.class));

    facebook = new Button(Assets.skin.get("facebookButton", ButtonStyle.class));
    twitter = new Button(Assets.skin.get("twitterButton", ButtonStyle.class));

    scoreCounterLabel = new ScoreCounterLabel(vikingDodge.getEntityHandler().getPlayer(),
            Assets.skin.get("largeLabel", LabelStyle.class));
    scoreCounterLabel.setPosition(background.getWidth() / 2 - (scoreCounterLabel.getTextBounds().width / 2),
            background.getHeight() - scoreCounterLabel.getHeight() * 2f);

    playagain.setPosition(background.getWidth() / 2 - (playagain.getWidth() / 2),
            0 + (playagain.getHeight() / 4));
    mainmenu.setPosition(background.getWidth() / 2 - (mainmenu.getWidth() / 2) - 160,
            0 + (mainmenu.getHeight() / 10));
    highscores.setPosition(background.getWidth() / 2 - (highscores.getWidth() / 2) + 160,
            0 + (mainmenu.getHeight() / 10));

    twitter.setSize(twitter.getWidth() / 2, twitter.getHeight() / 2);
    twitter.setPosition(background.getWidth() / 2 - (twitter.getWidth() / 2) + 60, playagain.getTop());
    facebook.setSize(facebook.getWidth() / 2, facebook.getHeight() / 2);
    facebook.setPosition(background.getWidth() / 2 - (facebook.getWidth() / 2) - 60, playagain.getTop());

}

From source file:com.jumpbuttonstudios.vikingdodge.ui.popup.HighscoresPopup.java

License:Apache License

public Table createTabButtons() {
    Table table = new Table();
    Button[] buttons = new Button[3];
    for (int x = 0; x < 3; x++) {
        buttons[x] = new Button(Assets.skin.get("emptyButton", ButtonStyle.class));
        buttons[x].setName("button" + x);
    }//  w ww . j a va 2 s.c  om
    buttons[0].addListener(new ActorGestureListener() {

        @Override
        public void tap(InputEvent event, float x, float y, int count, int button) {

            back.setPosition(background.getWidth() - (background.getWidth() / 3) + (back.getWidth() / 2),
                    backButtonPos.y);
            bringPanelToFront(personal);
        }
    });
    buttons[1].addListener(new ActorGestureListener() {

        @Override
        public void tap(InputEvent event, float x, float y, int count, int button) {

            back.setPosition(backButtonPos.x, backButtonPos.y);
            bringPanelToFront(global);
        }
    });
    buttons[2].addListener(new ActorGestureListener() {

        @Override
        public void tap(InputEvent event, float x, float y, int count, int button) {

            back.setPosition(backButtonPos.x, backButtonPos.y);
            bringPanelToFront(friends);
        }
    });
    for (Button button : buttons) {
        table.add(button);
    }

    table.setPosition(575, 625);
    return table;
}