List of usage examples for com.badlogic.gdx.scenes.scene2d.ui TextButton setText
public void setText(String text)
From source file:ateamproject.kezuino.com.github.render.screens.HighscoreScreen.java
public HighscoreScreen(Game game, boolean top10HighscoreReached) { super(game);/*www . ja v a 2s. c o m*/ TextButton btnBack = new TextButton("Terug", skin); btnBack.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { if (top10HighscoreReached) { game.setScreen(new CreditsScreen(game)); } else { game.setScreen(new MainScreen(game)); } } }); float x = 240; float y = stage.getHeight() / 4; btnBack.setSize(200, 40); btnBack.setPosition(stage.getWidth() / 2 - btnBack.getWidth() / 2, stage.getHeight() / 4 - btnBack.getHeight() / 2); Label lblTitle = new Label("Highscore", skin); if (top10HighscoreReached) { lblTitle = new Label("Gefeliciteerd met een top 10 plek!", skin); btnBack.setText("Haal mijn prijs op"); } lblTitle.setColor(Color.YELLOW); lblTitle.setPosition(stage.getWidth() / 2 - lblTitle.getWidth() / 2, stage.getHeight() - 50); PacketGetHighscores packet = new PacketGetHighscores(Client.getInstance().getId()); Client.getInstance().send(packet); Table table = new Table(); table.setSkin(skin); int rankNr = 0; for (Map.Entry<String, Integer> entry : packet.getResult().entrySet()) { rankNr++; table.add(new Label(Integer.toString(rankNr), skin)).padRight(50); table.add(new Label(entry.getKey(), skin)).padRight(50); table.add(new Label(Integer.toString(entry.getValue()), skin)); table.row(); } table.setPosition(stage.getWidth() / 2 - table.getWidth() / 2, stage.getHeight() - 190); stage.addActor(btnBack); stage.addActor(lblTitle); stage.addActor(table); backgroundMusic = Assets.getMusicStream("menu.mp3"); }
From source file:ateamproject.kezuino.com.github.render.screens.LoginScreen.java
public LoginScreen(Game game) { super(game);//from w w w . ja va 2 s.c om TextField txtUsername = new TextField("pactales1@gmail.com", skin); TextField txtPassword = new TextField("pactales!", skin); txtPassword.setPasswordCharacter('*'); txtPassword.setPasswordMode(true); TextButton btnLogin = new TextButton("Inloggen", skin); btnLogin.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { btnLogin.setTouchable(Touchable.disabled); btnLogin.setText("Laden"); Thread loginThread = new Thread(() -> { PacketLoginAuthenticate packet = new PacketLoginAuthenticate(txtUsername.getText(), txtPassword.getText(), null); Client.getInstance().send(packet); Gdx.app.postRunnable(() -> { // Login was successful.. if (Client.getInstance().getId() != null) { PacketLoginUserExists packetUserExists = new PacketLoginUserExists( txtUsername.getText(), null); Client.getInstance().send(packetUserExists); // Handle user doesn't exist. if (!packetUserExists.getResult()) { Dialog d = new Dialog("Geen gebruiker gevonden", skin); d.add("Gebruikersnaam:"); TextField f = new TextField("", skin); d.add(f); bExit = new TextButton("Oke", skin); bExit.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { if (!f.getText().isEmpty()) { PacketLoginCreateNewUser packet1; packet1 = new PacketLoginCreateNewUser(f.getText(), txtUsername.getText()); Client.getInstance().send(packet1); if (!packet1.getResult()) { new Dialog("Error", skin) { { text("De naam bestaat al."); button("Oke"); } }.show(stage); } else { d.hide(); Client.getInstance().setUsername(f.getText()); game.setScreen(new MainScreen(game)); } } } }); d.add(bExit); d.show(stage); } else { game.setScreen(new MainScreen(game)); } } else { new Dialog("Error", skin) { { text(packet.getResult().getMessage()); button("Oke"); } }.show(stage); } btnLogin.setText("Inloggen"); btnLogin.setTouchable(Touchable.enabled);//enable button touch }); }); loginThread.start(); } }); txtUsername.setSize(300, 40); txtPassword.setSize(300, 40); txtPassword.setPasswordMode(true); btnLogin.setSize(300, 40); btnLogin.setPosition(stage.getWidth() / 2 - btnLogin.getWidth() / 2, 150); txtUsername.setPosition(stage.getWidth() / 2 - txtUsername.getWidth() / 2, 300); txtPassword.setPosition(stage.getWidth() / 2 - txtPassword.getWidth() / 2, 250); stage.addActor(btnLogin); stage.addActor(txtUsername); stage.addActor(txtPassword); backgroundMusic = Assets.getMusicStream("menu.mp3"); }
From source file:com.mygdx.game.Splash.java
public void create() { batch = new SpriteBatch(); stage = new Stage(); Gdx.input.setInputProcessor(stage);// w ww. j a va2 s .co m skin = new Skin(); Pixmap pixmap = new Pixmap(100, 100, Format.RGBA8888); pixmap.setColor(Color.GREEN); pixmap.fill(); skin.add("white", new Texture(pixmap)); BitmapFont bfont = new BitmapFont(); //bfont.scale(1); skin.add("default", bfont); TextButtonStyle textButtonStyle = new TextButtonStyle(); textButtonStyle.up = skin.newDrawable("white", Color.DARK_GRAY); textButtonStyle.down = skin.newDrawable("white", Color.DARK_GRAY); textButtonStyle.checked = skin.newDrawable("white", Color.BLUE); textButtonStyle.over = skin.newDrawable("white", Color.LIGHT_GRAY); textButtonStyle.font = skin.getFont("default"); skin.add("default", textButtonStyle); final TextButton textButton = new TextButton("PLAY", textButtonStyle); textButton.setPosition(200, 200); stage.addActor(textButton); stage.addActor(textButton); stage.addActor(textButton); textButton.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { //System.out.println("Clicked! Is checked: " + button.isChecked()); textButton.setText("Starting new game"); //g.setScreen( new GameWorking()); } }); }
From source file:com.tumblr.oddlydrawn.nahlc.screens.GameOverScreen.java
License:Apache License
public GameOverScreen(Game g, int level, int score) { game = g;/* w w w.j a v a 2s.co m*/ savedStuff = new SavedStuff(); assets = new Assets(); assets.initGameOver(); stage = new Stage(new StretchViewport(Renderer.WIDTH, Renderer.HEIGHT)); skin = new Skin(); savedStuff.loadScores(); savedStuff.setScore(score); skin.add("default", new BitmapFont(Gdx.files.internal("data/fonts/deja.fnt"))); LabelStyle labelStyle = new LabelStyle(); labelStyle.font = skin.getFont("default"); skin.add("default", labelStyle); ButtonStyle buttonStyle = new ButtonStyle(); skin.add("default", buttonStyle); TextButtonStyle textButtonStyle = new TextButtonStyle(); textButtonStyle.font = skin.getFont("default"); skin.add("default", textButtonStyle); // Background NinePatch image Image boxPatchImage = new Image(assets.getBoxPatch()); boxPatchImage.setSize(Renderer.WIDTH - 40, Renderer.HEIGHT - 5); boxPatchImage.setPosition(20, 2); stage.addActor(boxPatchImage); // Top Score's background NinePatch image Image boxPatchImageTwo = new Image(assets.getBoxPatch()); boxPatchImageTwo.setSize(220, 295); boxPatchImageTwo.setPosition(50, 90); stage.addActor(boxPatchImageTwo); // Single-column table that holds all the things. rootTable = new Table(); rootTable.setFillParent(true); stage.addActor(rootTable); rootTable.debug(); // Three-column table that holds the top scores. topScoreTable = new Table(); topScoreTable.debug(); topScoreTable.columnDefaults(0).width(73); topScoreTable.columnDefaults(1).width(50); topScoreTable.columnDefaults(1).align(Align.center); Label scoreLabel = new Label("Score: " + score, skin); Label topScoresLabel = new Label("Top Scores", skin); Image mainMenuImage = new Image(assets.getMainMenuSprite()); Image newGameImage = new Image(assets.getNewGameSprite()); Button mainMenuButton = new Button(skin); mainMenuButton.add(mainMenuImage); Button newGameButton = new Button(skin); newGameButton.add(newGameImage); Image newRecordImage = new Image(assets.getNewRecordSprite()); Image gameOverImage = new Image(assets.getGameOverSprite()); Image titleImage; if (savedStuff.isPreviousScoreInTopScore()) { titleImage = newRecordImage; } else { titleImage = gameOverImage; } Label[][] allTheScores = new Label[3][11]; // Creates the labels for all the scores, populates them, and adds animations. for (int y = 0; y < 10; y++) { for (int x = 0; x < 3; x++) { switch (x) { case 0: // The labels from 1 - 10, left most to show score rank. if (y == 9) { allTheScores[x][y] = new Label(String.valueOf(y + 1) + ".", skin); } else { // Adds a space, for correct padding to numbers 1-9 (or the array indexes 0-8) allTheScores[x][y] = new Label(" " + String.valueOf(y + 1) + ".", skin); } topScoreTable.add(allTheScores[x][y]); break; case 1: // The labels with the Level associated with each score allTheScores[x][y] = new Label(savedStuff.getLevel(y, x - 1), skin); topScoreTable.add(allTheScores[x][y]); if (savedStuff.isPreviousScoreInTopScore()) { // Adds the drop animation to scores below the score to replace if (y >= savedStuff.getScoreToReplace()) { allTheScores[x][y].addAction(Actions.sequence(Actions.delay(2f), Actions.delay(0.5f), Actions.moveBy(0, -26, 2, Interpolation.bounceOut))); } } break; case 2: // The labels with the Score associated with each rank and level allTheScores[x][y] = new Label(savedStuff.getScore(y, x - 1), skin); topScoreTable.add(allTheScores[x][y]).right(); if (savedStuff.isPreviousScoreInTopScore()) { // Adds the drop animation to scores below the score to replace if (y >= savedStuff.getScoreToReplace()) { allTheScores[x][y].addAction(Actions.sequence(Actions.delay(2f), Actions.delay(0.5f), Actions.moveBy(0, -26, 2, Interpolation.bounceOut))); } } break; default: break; } } topScoreTable.row(); } rootTable.add(titleImage); rootTable.row(); rootTable.add(scoreLabel).expand(); rootTable.row(); rootTable.add(topScoresLabel); rootTable.row(); topScoreTable.setWidth(rootTable.getWidth()); topScoreTable.setTransform(true); rootTable.setTransform(true); rootTable.add(topScoreTable); rootTable.row(); rootTable.add(newGameButton).expand().bottom(); rootTable.row(); rootTable.add(mainMenuButton).expand(); rootTable.padLeft(35f); rootTable.padRight(35f); rootTable.padTop(9f); rootTable.padBottom(9f); newGameButton.toBack(); mainMenuButton.toBack(); // Adds padding to Level and 10th rank strings for correct padding String levelButtonString; int mew = Integer.valueOf(String.valueOf(allTheScores[1][9].getText())); if (mew < 10) { levelButtonString = String.valueOf(allTheScores[1][9].getText()) + " "; } else { levelButtonString = String.valueOf(allTheScores[1][9].getText()); } String previousLevelButtonString; if (level < 10) { previousLevelButtonString = String.valueOf(level + " "); } else { previousLevelButtonString = String.valueOf(level); } String previousScoreString = String.valueOf(score); TextButton previousLevelButton = new TextButton(previousLevelButtonString, skin); TextButton previousScoreButton = new TextButton(previousScoreString, skin); TextButton tenthLevelButton = new TextButton(levelButtonString, skin); TextButton tenthScoreButton = new TextButton(String.valueOf(allTheScores[2][9].getText()), skin); // Pads Button text with spaces for correct alignment tenthLevelButton.setText(fillStringWithSpaces(String.valueOf(tenthLevelButton.getText()))); previousLevelButton.setText(fillStringWithSpaces(previousLevelButtonString)); stage.addActor(tenthLevelButton); stage.addActor(tenthScoreButton); // Groups to link the scores and levels for 10th-rank scores and the score just obtained // Needed to apply transforms to buttons since transforming text isn't possible, I think. Group group = new Group(); group.addActor(tenthScoreButton); group.addActor(tenthLevelButton); Group groupPrevious = new Group(); groupPrevious.addActor(previousLevelButton); groupPrevious.addActor(previousScoreButton); // Modifies score buttons positions for correct alignment with the rest of the table tenthScoreButton.setPosition(144 - subPosFromLength(tenthScoreButton.getText().length()), 00); previousScoreButton.setPosition(144 - subPosFromLength(previousScoreString.length()), 00); tenthScoreButton.align(Align.left); previousScoreButton.align(Align.left); tenthLevelButton.setTransform(true); tenthScoreButton.setTransform(true); stage.addActor(group); group.setPosition(105, 97); allTheScores[1][9].setVisible(false); allTheScores[2][9].setVisible(false); group.setTransform(true); // Adds animation for drop and bounce then rotate and drop to 10th rank score if (savedStuff.isPreviousScoreInTopScore()) { group.setOrigin(group.getX() + group.getWidth() + 50, 10); group.addAction(Actions.sequence(Actions.delay(2f), Actions.delay(0.5f), Actions.moveBy(0, -26, 2, Interpolation.bounceOut), Actions.delay(0.1f), Actions.rotateBy(90f, 2f, Interpolation.bounceOut), Actions.delay(0.1f), Actions.moveBy(0, -120, 2, Interpolation.bounceOut))); } // Adds spaces to first score in top score table to have the same column width regardless of score size allTheScores[2][0].setText(fillCSWithSpaces(allTheScores[2][0].getText())); mainMenuButton.addListener(new ChangeListener() { public void changed(ChangeEvent event, Actor actor) { dispose(); game.setScreen(new MainMenuScreen(game)); } }); newGameButton.addListener(new ChangeListener() { public void changed(ChangeEvent event, Actor actor) { dispose(); game.setScreen(new GameScreen(game)); } }); // Sets correct vertical position for score just obtained groupPrevious.setPosition(group.getX(), group.getY() + getVerticalPosSub(savedStuff.getScoreToReplace())); groupPrevious.setTransform(true); // Score is now in position, this makes it invisible groupPrevious.addAction(Actions.fadeOut(0.1f)); // Fades the score in after the bottom-most score rotates and drops if (savedStuff.isPreviousScoreInTopScore()) { groupPrevious.addAction(Actions.sequence(Actions.delay(7.5f), Actions.fadeIn(1f))); } stage.addActor(groupPrevious); savedStuff.setSavedGameExists(false); savedStuff.savePreferences(); savedStuff.updateLevelAndScore(level, score); try { savedStuff.saveScoresToFile(); } catch (RuntimeException ex) { Gdx.app.log("ERROR NAHLC", ex.getMessage()); ex.printStackTrace(); } catch (Exception e) { Gdx.app.log("ERROR NAHLC", e.getMessage()); e.printStackTrace(); } Gdx.app.log("NAHLC", "leaving create()"); }
From source file:net.noviden.towerdefense.Screens.GameSettingsScreen.java
License:Open Source License
public GameSettingsScreen(final TowerDefense pTowerDefense) { _towerDefense = pTowerDefense;//www. ja va2s . c om _modifiedKeyboardShortcutsMap = new HashMap<Integer, GameSettings.Actions>(); _currentlySelectedActionLabel = null; _currentlySelectedShortcut = null; _previouslySelectedKey = -1; Skin skin = new Skin(Gdx.files.internal("assets/uiskin.json")); _mainStage = new Stage(); Table rootTable = new Table(); rootTable.setFillParent(true); _mainStage.addActor(rootTable); // set up ui elements Label musicVolumeLabel = new Label("Music Volume", skin); final Slider musicVolumeSlider = new Slider(0.0f, 1.0f, 0.1f, false, skin); musicVolumeSlider.setValue(GameSettings.getMusicVolume()); Label sfxVolumeLabel = new Label("Sound Effects Volume", skin); final Slider sfxVolumeSlider = new Slider(0.0f, 1.0f, 0.1f, false, skin); sfxVolumeSlider.setValue(GameSettings.getSoundVolume()); Table volumeTable = new Table(); volumeTable.add(musicVolumeLabel); volumeTable.add(musicVolumeSlider); volumeTable.row(); volumeTable.add(sfxVolumeLabel); volumeTable.add(sfxVolumeSlider).pad(8.0f); Table keyboardShortcutsTable = new Table(); HashMap<Integer, GameSettings.Actions> currentShortcutMap = GameSettings.getShortcutMap(); // for sorting the settings on screen Collection<GameSettings.Actions> values = currentShortcutMap.values(); ArrayList<String> valueNames = new ArrayList<String>(); for (GameSettings.Actions action : values) { valueNames.add(action.toString()); } Collections.sort(valueNames); for (String s : valueNames) { final Label actionLabel = new Label(s, skin); final TextButton shortcutButton = new TextButton( Input.Keys.toString(GameSettings.getReverse(GameSettings.Actions.valueOf(s))), skin); keyboardShortcutsTable.add(actionLabel).pad(10.0f); keyboardShortcutsTable.add(shortcutButton); keyboardShortcutsTable.row(); shortcutButton.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { if (_currentlySelectedShortcut == null) { _currentlySelectedActionLabel = actionLabel; _currentlySelectedShortcut = shortcutButton; _previouslySelectedKey = Input.Keys.valueOf(shortcutButton.getText().toString()); shortcutButton.setText("Press any un-set key!"); } } }); } ScrollPane keyboardShortcutsScrollPane = new ScrollPane(keyboardShortcutsTable); keyboardShortcutsScrollPane.layout(); // add in save and exit buttons Table exitFunctionalityTable = new Table(); TextButton saveAndExitButton = new TextButton("Save and Exit", skin); TextButton exitWithoutSavingButton = new TextButton("Exit Without Saving", skin); exitFunctionalityTable.add(saveAndExitButton).pad(10.0f); exitFunctionalityTable.add(exitWithoutSavingButton); // finally, construct display table rootTable.add(volumeTable); rootTable.row(); rootTable.add(keyboardShortcutsScrollPane); rootTable.row(); rootTable.add(exitFunctionalityTable); InputMultiplexer multiplexer = new InputMultiplexer(_mainStage, new MyInputProcessor()); Gdx.input.setInputProcessor(multiplexer); // add in event listeners here exitWithoutSavingButton.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { _towerDefense.setScreen(new net.noviden.towerdefense.Screens.MainMenuScreen(_towerDefense)); } }); saveAndExitButton.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { // attempt to save settings GameSettings.setMusicVolume(musicVolumeSlider.getPercent()); GameSettings.setSoundVolume(sfxVolumeSlider.getPercent()); // save keyboard shortcuts GameSettings.putShortcuts(_modifiedKeyboardShortcutsMap); // return to main menu _towerDefense.setScreen(new net.noviden.towerdefense.Screens.MainMenuScreen(_towerDefense)); dispose(); } }); }
From source file:org.ams.testapps.paintandphysics.cardhouse.CardHouseWithGUI.java
License:Open Source License
/** * Creates one angle-button for each cheat color. These can be clicked * to release the card with the same color as the text of the button. * Also creates a {@link Runnable} that keeps the buttons updated. *///from w w w. ja v a 2 s .c om private Table createAngleButtons() { final Table table = new Table(); // create buttons float width = new TextButton("360.0", skin).getPrefWidth(); final TextButton[] textButtons = new TextButton[cardHouseDef.cheatColors.length]; for (int i = 0; i < textButtons.length; i++) { final TextButton textButton = createAngleButton(); textButton.setVisible(false); table.add(textButton).width(width).pad(SceneUtil.getPreferredPadding(stage)).row(); textButtons[i] = textButton; } // prepare updates timer.remove(angleUpdater); angleUpdater = new Runnable() { @Override public void run() { if (renderCount % 5 != 0) return; Array<PPPolygon> coloredCards = cardHouse.getColoredCards(); int i = 0; for (TextButton textButton : textButtons) { // is there a colored card for this button? boolean gotCard = coloredCards.size > i; if (gotCard != textButton.isVisible()) textButton.setVisible(gotCard); if (gotCard) { PPPolygon card = coloredCards.get(i); // compute an intuitive angle float angleRad = card.getPhysicsThing().getBody().getAngle(); float angleDeg = angleRad * MathUtils.radiansToDegrees; angleDeg = Math.abs(angleDeg); angleDeg %= 180; if (angleDeg > 90) angleDeg = 180 - angleDeg; angleDeg = Util.roundToNearestN(angleDeg, 0.1f); // convert to text and update button String decimals = Util.getDecimals(angleDeg, 1); int noDecimals = (int) angleDeg; String angleText = noDecimals + "." + decimals; textButton.setText(angleText); // update the angleText for the angleLabel Color color = card.getOutlinePolygons().first().getColor(); if (color == cardHouseDef.cheatColors[0]) CardHouseWithGUI.this.angleText = angleText; textButton.getLabel().setColor(color); } i++; } } }; timer.runOnRender(angleUpdater); return table; }
From source file:scenes.GameCreate.java
@Override public void create() { playerLimitIndex = 0;//w ww . j ava2 s .co m shapeRenderer = new ShapeRenderer(); shapeRenderer.setAutoShapeType(true); batch = new SpriteBatch(); availableMaps = GameMaps.getMaps(); availableGameModeMap = GameMapsDomination.getMaps(); availableGamemodes = new GameMode[] { new NormalMatch("Normal Game"), new TutorialMatch("Tutorial"), new DominationMatch("Domination") }; stage = new Stage(); Gdx.input.setInputProcessor(stage); atlas = new TextureAtlas("ui/buttonPack.pack"); skin = new Skin(atlas); table = new Table(skin); table.setBounds(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); //initialize fonts FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/MunroSmall.ttf")); FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter(); parameter.size = 60; font60 = generator.generateFont(parameter); // font size 12 pixels font60.setColor(Color.BLACK); parameter.size = 40; font30 = generator.generateFont(parameter); // font size 12 pixels font30.setColor(0.5f, 0.5f, 0.5f, 255); generator.dispose(); // don't forget to dispose to avoid memory leaks! final TextButtonStyle textButtonStyle = new TextButtonStyle(); textButtonStyle.downFontColor = new Color(0f, 0.57f, 0.92f, 1f); textButtonStyle.overFontColor = new Color(0f, 0.57f, 1f, 1f); textButtonStyle.font = font30; textButtonStyle.fontColor = Color.BLACK; buttonPlay = new TextButton("Start Game", textButtonStyle); buttonPlay.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { if ("Domination".equals(availableGamemodes[selectedGameMode].getName())) { Config.page = new SearchGame(availableGameModeMap[selectedMap].getName(), availableGamemodes[selectedGameMode].getName(), playerLimit[playerLimitIndex]); } else { Config.page = new SearchGame(availableMaps[selectedMap].getName(), availableGamemodes[selectedGameMode].getName(), playerLimit[playerLimitIndex]); } } }); buttonExit = new TextButton("Back", textButtonStyle); buttonExit.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { Config.page = new MainMenu(); } }); buttonExit.pad(20); LabelStyle headingStyle = new LabelStyle(font60, Color.BLACK); final TextButton toggleGameMode = new TextButton( "GameMode: " + availableGamemodes[selectedGameMode].getName(), textButtonStyle); toggleGameMode.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { selectedGameMode++; if (selectedGameMode >= availableGamemodes.length) { selectedGameMode = 0; } toggleGameMode.setText("GameMode: " + availableGamemodes[selectedGameMode].getName()); } }); final TextButton toggleLevel = new TextButton("Map: " + availableMaps[selectedMap].getName(), textButtonStyle); toggleLevel.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { selectedMap++; if (selectedMap >= availableMaps.length) { selectedMap = 0; } toggleLevel.setText("Map: " + availableMaps[selectedMap].getName()); } }); final TextButton togglePlayeLimit = new TextButton("players: " + playerLimit[playerLimitIndex], textButtonStyle); togglePlayeLimit.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { playerLimitIndex++; if (playerLimitIndex >= playerLimit.length) { playerLimitIndex = 0; } togglePlayeLimit.setText("players: " + playerLimit[playerLimitIndex]); } }); heading = new Label("Game modes", headingStyle); table.add(heading); table.row(); table.padBottom(100); table.add(toggleGameMode); table.row(); table.padBottom(50); table.add(toggleLevel); table.row(); table.padBottom(50); table.add(togglePlayeLimit); table.row(); table.padBottom(50); table.add(buttonPlay); table.row(); table.padBottom(50); table.add(buttonExit); //table.debug(); stage.addActor(table); //xOffset = (Gdx.graphics.getWidth() / 100 * 65); xOffset = (int) table.getX() + (int) toggleLevel.getRight() + (Gdx.graphics.getWidth() / 2); yOffset = Gdx.graphics.getHeight() / 2 - (availableMaps[selectedMap].getHeight() / 5); }
From source file:scenes.GameModeSelect.java
@Override public void create() { playerLimitIndex = 0;/*ww w.j a v a 2 s. c o m*/ shapeRenderer = new ShapeRenderer(); shapeRenderer.setAutoShapeType(true); batch = new SpriteBatch(); availableMaps = GameMaps.getMaps(); stage = new Stage(); Gdx.input.setInputProcessor(stage); atlas = new TextureAtlas("ui/buttonPack.pack"); skin = new Skin(atlas); table = new Table(skin); table.setBounds(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); //initialize fonts FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/MunroSmall.ttf")); FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter(); parameter.size = 60; font60 = generator.generateFont(parameter); // font size 12 pixels font60.setColor(Color.BLACK); parameter.size = 40; font30 = generator.generateFont(parameter); // font size 12 pixels font30.setColor(0.5f, 0.5f, 0.5f, 255); generator.dispose(); // don't forget to dispose to avoid memory leaks! final TextButtonStyle textButtonStyle = new TextButtonStyle(); textButtonStyle.downFontColor = new Color(0f, 0.57f, 0.92f, 1f); textButtonStyle.overFontColor = new Color(0f, 0.57f, 1f, 1f); textButtonStyle.font = font30; textButtonStyle.fontColor = Color.BLACK; buttonTut = new TextButton("Tutorial", textButtonStyle); buttonTut.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { Config.page = new SearchGame(availableMaps[selectedMap].getName(), "Tutorial", playerLimit[playerLimitIndex]); } }); buttonTut.pad(20); buttonPlay = new TextButton("Normal Game", textButtonStyle); buttonPlay.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { Config.page = new SearchGame(availableMaps[selectedMap].getName(), "Normal Game", playerLimit[playerLimitIndex]); } }); buttonPlay.pad(20); buttonExit = new TextButton("Back", textButtonStyle); buttonExit.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { Config.page = new MainMenu(); } }); buttonExit.pad(20); LabelStyle headingStyle = new LabelStyle(font60, Color.BLACK); final TextButton toggleLevel = new TextButton("Map: " + availableMaps[selectedMap].getName(), textButtonStyle); toggleLevel.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { selectedMap++; if (selectedMap >= availableMaps.length) selectedMap = 0; toggleLevel.setText("Map: " + availableMaps[selectedMap].getName()); } }); final TextButton togglePlayeLimit = new TextButton("players: " + playerLimit[playerLimitIndex], textButtonStyle); togglePlayeLimit.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { playerLimitIndex++; if (playerLimitIndex >= playerLimit.length) playerLimitIndex = 0; togglePlayeLimit.setText("players: " + playerLimit[playerLimitIndex]); } }); heading = new Label("Game modes", headingStyle); table.add(heading); table.row(); table.padBottom(50); table.add(buttonTut); table.row(); table.padBottom(50); table.add(buttonPlay); table.row(); table.padBottom(50); table.add(toggleLevel); table.row(); table.padBottom(50); table.add(togglePlayeLimit); table.row(); table.padBottom(50); table.add(buttonExit); //table.debug(); stage.addActor(table); //xOffset = (Gdx.graphics.getWidth() / 100 * 65); xOffset = (int) table.getX() + (int) toggleLevel.getRight() + (Gdx.graphics.getWidth() / 2); yOffset = Gdx.graphics.getHeight() / 2 - (availableMaps[selectedMap].getHeight() / 5); }