use of com.badlogic.gdx.scenes.scene2d.Stage in project AmazingMaze by TheVirtualMachine.
the class MazeScreen method setupHUD.
/** Create the game HUD. */
private void setupHUD() {
hud = new Stage(new ScreenViewport(), game.batch);
Table table = new Table();
table.setFillParent(true);
table.top().left();
hud.addActor(table);
Label level = new Label("Level " + game.save.getLevel(), game.assets.skin, Assets.HUD_STYLE);
table.add(level).colspan(2);
table.row();
Image lifeIcon = new Image(game.assets.manager.get(Assets.LIFE_HUD_IMAGE, Texture.class));
table.add(lifeIcon).pad(Gdx.graphics.getWidth() / 128).left();
livesLeft = new Label("", game.assets.skin, Assets.HUD_STYLE);
table.add(livesLeft);
updateLives(-2);
}
use of com.badlogic.gdx.scenes.scene2d.Stage in project AmazingMaze by TheVirtualMachine.
the class FishMiniGame method setupPauseMenu.
/** Create the pause menu. */
private void setupPauseMenu() {
pauseMenu = new Stage(new ScreenViewport(), game.batch);
Table table = new Table();
table.setFillParent(true);
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);
}
use of com.badlogic.gdx.scenes.scene2d.Stage in project skin-composer by raeleus.
the class DialogColors method renameDialog.
private void renameDialog(ColorData color) {
TextField textField = new TextField("", getSkin());
TextButton okButton;
Dialog dialog = new Dialog("Rename Color?", getSkin(), "bg") {
@Override
protected void result(Object object) {
if ((boolean) object) {
renameColor(color, textField.getText());
}
}
@Override
public Dialog show(Stage stage) {
Dialog dialog = super.show(stage);
main.getStage().setKeyboardFocus(textField);
return dialog;
}
};
dialog.getTitleTable().padLeft(5.0f);
float brightness = Utils.brightness(color.color);
Color borderColor;
if (brightness > .35f) {
borderColor = Color.BLACK;
} else {
borderColor = Color.WHITE;
}
Table bg = new Table(getSkin());
bg.setBackground("white");
bg.setColor(borderColor);
dialog.getContentTable().add(bg);
Label label = new Label(color.getName(), getSkin(), "white");
label.setColor(color.color);
bg.add(label).pad(10);
dialog.getContentTable().row();
label = new Label("What do you want to rename the color to?", getSkin());
dialog.getContentTable().add(label);
dialog.getContentTable().row();
textField.setText(color.getName());
textField.selectAll();
textField.addListener(main.getIbeamListener());
dialog.getContentTable().add(textField);
dialog.getCell(dialog.getContentTable()).pad(15.0f);
dialog.button("OK", true);
dialog.button("Cancel", false).key(Keys.ESCAPE, false);
okButton = (TextButton) dialog.getButtonTable().getCells().first().getActor();
okButton.setDisabled(true);
okButton.addListener(main.getHandListener());
dialog.getButtonTable().getCells().get(1).getActor().addListener(main.getHandListener());
dialog.getButtonTable().padBottom(15.0f);
textField.addListener(new ChangeListener() {
@Override
public void changed(ChangeListener.ChangeEvent event, Actor actor) {
boolean disable = !ColorData.validate(textField.getText());
if (!disable) {
for (ColorData data : main.getJsonData().getColors()) {
if (data.getName().equals(textField.getText())) {
disable = true;
break;
}
}
}
okButton.setDisabled(disable);
}
});
textField.setTextFieldListener(new TextField.TextFieldListener() {
@Override
public void keyTyped(TextField textField, char c) {
if (c == '\n') {
if (!okButton.isDisabled()) {
renameColor(color, textField.getText());
dialog.hide();
}
}
}
});
textField.setFocusTraversal(false);
dialog.show(getStage());
}
use of com.badlogic.gdx.scenes.scene2d.Stage in project skin-composer by raeleus.
the class DialogDrawables method renameDrawableDialog.
private void renameDrawableDialog(DrawableData drawable) {
TextField textField = new TextField("", getSkin());
Dialog dialog = new Dialog("Rename drawable?", getSkin(), "bg") {
@Override
protected void result(Object object) {
super.result(object);
if (object instanceof Boolean && (boolean) object == true) {
renameDrawable(drawable, textField.getText());
}
getStage().setScrollFocus(scrollPane);
}
@Override
public Dialog show(Stage stage) {
Dialog dialog = super.show(stage);
stage.setKeyboardFocus(textField);
return dialog;
}
};
dialog.getTitleTable().padLeft(5.0f);
dialog.getContentTable().padLeft(10.0f).padRight(10.0f).padTop(5.0f);
dialog.getButtonTable().padBottom(15.0f);
dialog.getContentTable().add(new Label("Please enter a new name for the drawable: ", getSkin()));
dialog.button("OK", true);
dialog.button("Cancel", false).key(Keys.ESCAPE, false);
TextButton okButton = (TextButton) dialog.getButtonTable().getCells().first().getActor();
okButton.setDisabled(true);
okButton.addListener(main.getHandListener());
dialog.getButtonTable().getCells().get(1).getActor().addListener(main.getHandListener());
dialog.getContentTable().row();
textField.setText(drawable.name);
textField.selectAll();
textField.addListener(new ChangeListener() {
@Override
public void changed(ChangeListener.ChangeEvent event, Actor actor) {
boolean disable = !DrawableData.validate(textField.getText());
if (!disable) {
for (DrawableData data : main.getAtlasData().getDrawables()) {
if (data.name.equals(textField.getText())) {
disable = true;
break;
}
}
}
okButton.setDisabled(disable);
}
});
textField.setTextFieldListener(new TextField.TextFieldListener() {
@Override
public void keyTyped(TextField textField, char c) {
if (c == '\n') {
if (!okButton.isDisabled()) {
renameDrawable(drawable, textField.getText());
dialog.hide();
}
}
}
});
textField.addListener(main.getIbeamListener());
dialog.getContentTable().add(textField);
textField.setFocusTraversal(false);
dialog.show(getStage());
}
use of com.badlogic.gdx.scenes.scene2d.Stage in project skin-composer by raeleus.
the class DialogDrawables method tiledDrawableDialog.
private void tiledDrawableDialog(DrawableData drawable) {
DialogColors dialog = new DialogColors(main, (StyleProperty) null, true, (ColorData colorData) -> {
if (colorData != null) {
final Spinner minWidthSpinner = new Spinner(0.0f, 1.0f, true, Spinner.Orientation.HORIZONTAL, getSkin());
final Spinner minHeightSpinner = new Spinner(0.0f, 1.0f, true, Spinner.Orientation.HORIZONTAL, getSkin());
TextField textField = new TextField("", getSkin()) {
@Override
public void next(boolean up) {
if (up) {
getStage().setKeyboardFocus(minHeightSpinner.getTextField());
minHeightSpinner.getTextField().selectAll();
} else {
getStage().setKeyboardFocus(minWidthSpinner.getTextField());
minWidthSpinner.getTextField().selectAll();
}
}
};
Dialog tileDialog = new Dialog("New Tiled Drawable", getSkin(), "bg") {
@Override
protected void result(Object object) {
super.result(object);
if (object instanceof Boolean && (boolean) object == true) {
tiledDrawable(drawable, colorData, (float) minWidthSpinner.getValue(), (float) minHeightSpinner.getValue(), textField.getText());
}
getStage().setScrollFocus(scrollPane);
}
@Override
public Dialog show(Stage stage) {
Dialog dialog = super.show(stage);
stage.setKeyboardFocus(textField);
return dialog;
}
};
tileDialog.getTitleTable().padLeft(5.0f);
tileDialog.getContentTable().padLeft(10.0f).padRight(10.0f).padTop(5.0f);
tileDialog.getButtonTable().padBottom(15.0f);
tileDialog.getContentTable().add(new Label("Please enter a name for the TiledDrawable: ", getSkin()));
tileDialog.button("OK", true);
tileDialog.button("Cancel", false).key(Keys.ESCAPE, false);
TextButton okButton = (TextButton) tileDialog.getButtonTable().getCells().first().getActor();
okButton.setDisabled(true);
okButton.addListener(main.getHandListener());
tileDialog.getButtonTable().getCells().get(1).getActor().addListener(main.getHandListener());
tileDialog.getContentTable().row();
textField.setText(drawable.name);
textField.selectAll();
tileDialog.getContentTable().add(textField);
Vector2 dimensions = Utils.imageDimensions(drawable.file);
tileDialog.getContentTable().row();
Table table = new Table();
table.defaults().space(10.0f);
tileDialog.getContentTable().add(table);
Label label = new Label("MinWidth:", getSkin());
table.add(label);
minWidthSpinner.setValue(dimensions.x);
minWidthSpinner.setMinimum(0.0f);
table.add(minWidthSpinner).minWidth(150.0f);
minWidthSpinner.setTransversalPrevious(textField);
minWidthSpinner.setTransversalNext(minHeightSpinner.getTextField());
table.row();
label = new Label("MinHeight:", getSkin());
table.add(label);
minHeightSpinner.setValue(dimensions.y);
minHeightSpinner.setMinimum(0.0f);
table.add(minHeightSpinner).minWidth(150.0f);
minHeightSpinner.setTransversalPrevious(minWidthSpinner.getTextField());
minHeightSpinner.setTransversalNext(textField);
textField.addListener(new ChangeListener() {
@Override
public void changed(ChangeListener.ChangeEvent event, Actor actor) {
boolean disable = !DrawableData.validate(textField.getText());
if (!disable) {
for (DrawableData data : main.getAtlasData().getDrawables()) {
if (data.name.equals(textField.getText())) {
disable = true;
break;
}
}
}
okButton.setDisabled(disable);
}
});
textField.setTextFieldListener(new TextField.TextFieldListener() {
@Override
public void keyTyped(TextField textField, char c) {
if (c == '\n') {
if (!okButton.isDisabled()) {
tiledDrawable(drawable, colorData, (float) minWidthSpinner.getValue(), (float) minHeightSpinner.getValue(), textField.getText());
tileDialog.hide();
}
}
}
});
textField.addListener(main.getIbeamListener());
tileDialog.show(getStage());
}
});
dialog.setFillParent(true);
dialog.show(getStage());
dialog.refreshTable();
}
Aggregations