use of com.badlogic.gdx.scenes.scene2d.ui.Image in project AmazingMaze by TheVirtualMachine.
the class CreditsScreen method setupComponents.
/**
* Instantiate the stage and its actors for the credits screen.
* Add all actors to the stage.
*/
private void setupComponents() {
stage = new Stage();
table = new Table();
table.top();
table.setFillParent(true);
stage.addActor(table);
gameLogo = new Image(game.assets.manager.get(Assets.GAME_LOGO, Texture.class));
header = new Label("", game.assets.skin, Assets.SERIF_HEADER_STYLE);
codeGroup = setupCreditsLabel(CODE, Assets.CREDITS_CONTENTS);
artGroup = setupCreditsLabel(ART, Assets.CREDITS_CONTENTS);
storyGroup = setupCreditsLabel(STORY, Assets.CREDITS_CONTENTS);
musicGroup = setupCreditsLabel(MUSIC, Assets.SMALL_CREDITS_CONTENTS);
thanksGroup = setupCreditsLabel(THANKS, Assets.CREDITS_CONTENTS);
companyLogo = new Image(game.assets.manager.get(Assets.COMPANY_LOGO, Texture.class));
}
use of com.badlogic.gdx.scenes.scene2d.ui.Image in project libgdx by libgdx.
the class ScrollPane2Test method create.
public void create() {
stage = new Stage();
Gdx.input.setInputProcessor(stage);
skin = new Skin(Gdx.files.internal("data/uiskin.json"));
ScrollPane pane2 = new ScrollPane(new Image(new Texture("data/group-debug.png")), skin);
pane2.setScrollingDisabled(false, true);
// pane2.setCancelTouchFocus(false);
pane2.addListener(new InputListener() {
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
event.stop();
return true;
}
});
Table mytable = new Table();
mytable.debug();
mytable.add(new Image(new Texture("data/group-debug.png")));
mytable.row();
mytable.add(new Image(new Texture("data/group-debug.png")));
mytable.row();
mytable.add(pane2).size(100);
mytable.row();
mytable.add(new Image(new Texture("data/group-debug.png")));
mytable.row();
mytable.add(new Image(new Texture("data/group-debug.png")));
ScrollPane pane = new ScrollPane(mytable, skin);
pane.setScrollingDisabled(true, false);
// pane.setCancelTouchFocus(false);
if (false) {
// This sizes the pane to the size of it's contents.
pane.pack();
// Then the height is hardcoded, leaving the pane the width of it's contents.
pane.setHeight(Gdx.graphics.getHeight());
} else {
// This shows a hardcoded size.
pane.setWidth(300);
pane.setHeight(Gdx.graphics.getHeight());
}
stage.addActor(pane);
}
use of com.badlogic.gdx.scenes.scene2d.ui.Image in project libgdx by libgdx.
the class ScrollPaneScrollBarsTest method create.
public void create() {
float width = Gdx.graphics.getWidth();
float height = Gdx.graphics.getHeight();
float btnWidth = 200;
float btnHeight = 40;
stage = new Stage();
Skin skin = new Skin(Gdx.files.internal("data/uiskin.json"));
Gdx.input.setInputProcessor(stage);
final TextButton fadeBtn = new TextButton("Fade: " + doFade, skin);
fadeBtn.setSize(btnWidth, btnHeight);
fadeBtn.setPosition(0, height - fadeBtn.getHeight());
stage.addActor(fadeBtn);
fadeBtn.addListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
doFade = !doFade;
fadeBtn.setText("Fade: " + doFade);
for (ScrollPane pane : scrollPanes) {
pane.setFadeScrollBars(doFade);
}
}
});
final TextButton onTopBtn = new TextButton("ScrollbarsOnTop: " + doOnTop, skin);
onTopBtn.setSize(btnWidth, btnHeight);
onTopBtn.setPosition(0 + fadeBtn.getWidth() + 20, height - onTopBtn.getHeight());
stage.addActor(onTopBtn);
onTopBtn.addListener(new ChangeListener() {
@Override
public void changed(ChangeEvent event, Actor actor) {
doOnTop = !doOnTop;
onTopBtn.setText("ScrollbarOnTop: " + doOnTop);
onTopBtn.invalidate();
for (ScrollPane pane : scrollPanes) {
pane.setScrollbarsOnTop(doOnTop);
}
}
});
// Gdx.graphics.setVSync(false);
float gap = 8;
float x = gap;
float y = gap;
float contWidth = width / 2 - gap * 1.5f;
float contHeight = height / 4.5f - gap * 1.25f;
bottomLeft = new Table();
bottomLeft.setPosition(x, y);
bottomLeft.setSize(contWidth, contHeight);
stage.addActor(bottomLeft);
bottomRight = new Table();
bottomRight.setSize(contWidth, contHeight);
x = bottomLeft.getX() + bottomLeft.getWidth() + gap;
bottomRight.setPosition(x, y);
stage.addActor(bottomRight);
topLeft = new Table();
topLeft.setSize(contWidth, contHeight);
x = bottomLeft.getX();
y = bottomLeft.getY() + bottomLeft.getHeight() + gap;
topLeft.setPosition(x, y);
stage.addActor(topLeft);
topRight = new Table();
topRight.setSize(contWidth, contHeight);
x = bottomRight.getX();
y = topLeft.getY();
topRight.setPosition(x, y);
stage.addActor(topRight);
horizOnlyTop = new Table();
horizOnlyTop.setSize(contWidth, contHeight);
x = topRight.getX();
y = topRight.getY() + topRight.getHeight() + gap;
horizOnlyTop.setPosition(x, y);
stage.addActor(horizOnlyTop);
horizOnlyBottom = new Table();
horizOnlyBottom.setSize(contWidth, contHeight);
x = topLeft.getX();
y = topLeft.getY() + topLeft.getHeight() + gap;
horizOnlyBottom.setPosition(x, y);
stage.addActor(horizOnlyBottom);
vertOnlyLeft = new Table();
vertOnlyLeft.setSize(contWidth, contHeight);
x = horizOnlyBottom.getX();
y = horizOnlyBottom.getY() + horizOnlyBottom.getHeight() + gap;
vertOnlyLeft.setPosition(x, y);
stage.addActor(vertOnlyLeft);
vertOnlyRight = new Table();
vertOnlyRight.setSize(contWidth, contHeight);
x = horizOnlyTop.getX();
y = horizOnlyTop.getY() + horizOnlyTop.getHeight() + gap;
vertOnlyRight.setPosition(x, y);
stage.addActor(vertOnlyRight);
Table bottomLeftTable = new Table();
Table bottomRightTable = new Table();
Table topLeftTable = new Table();
Table topRightTable = new Table();
Table horizOnlyTopTable = new Table();
Table horizOnlyBottomTable = new Table();
Table vertOnlyLeftTable = new Table();
Table vertOnlyRightTable = new Table();
final ScrollPane bottomLeftScroll = new ScrollPane(bottomLeftTable, skin);
bottomLeftScroll.setScrollBarPositions(true, false);
final ScrollPane bottomRightScroll = new ScrollPane(bottomRightTable, skin);
bottomRightScroll.setScrollBarPositions(true, true);
final ScrollPane topLeftScroll = new ScrollPane(topLeftTable, skin);
topLeftScroll.setScrollBarPositions(false, false);
final ScrollPane topRightScroll = new ScrollPane(topRightTable, skin);
topRightScroll.setScrollBarPositions(false, true);
final ScrollPane horizOnlyTopScroll = new ScrollPane(horizOnlyTopTable, skin);
horizOnlyTopScroll.setScrollBarPositions(false, true);
final ScrollPane horizOnlyBottomScroll = new ScrollPane(horizOnlyBottomTable, skin);
horizOnlyBottomScroll.setScrollBarPositions(true, true);
final ScrollPane vertOnlyLeftScroll = new ScrollPane(vertOnlyLeftTable, skin);
vertOnlyLeftScroll.setScrollBarPositions(true, false);
final ScrollPane vertOnlyRightScroll = new ScrollPane(vertOnlyRightTable, skin);
vertOnlyRightScroll.setScrollBarPositions(true, true);
ScrollPane[] panes = new ScrollPane[] { bottomLeftScroll, bottomRightScroll, topLeftScroll, topRightScroll, horizOnlyTopScroll, horizOnlyBottomScroll, vertOnlyLeftScroll, vertOnlyRightScroll };
for (ScrollPane pane : panes) {
scrollPanes.add(pane);
}
Table[] tables = new Table[] { bottomLeftTable, bottomRightTable, topLeftTable, topRightTable, horizOnlyTopTable, horizOnlyBottomTable, vertOnlyLeftTable, vertOnlyRightTable };
for (Table t : tables) t.defaults().expandX().fillX();
horizOnlyTopTable.add(new Label("HORIZONTAL-ONLY-TOP verify HORIZONTAL scroll bar is on the TOP and properly aligned", skin)).row();
horizOnlyTopTable.add(new Image(skin.getDrawable("default-rect"))).height(20).row();
horizOnlyBottomTable.add(new Label("HORIZONTAL-ONLY-BOTTOM verify HORIZONTAL scroll bar is on the BOTTOM and properly aligned", skin)).row();
horizOnlyBottomTable.add(new Image(skin.getDrawable("default-rect"))).height(20).row();
for (int i = 0; i < 12; i++) {
bottomLeftTable.add(new Label(i + " BOTTOM-LEFT verify scroll bars are on the BOTTOM and the LEFT, and are properly aligned", skin)).row();
bottomLeftTable.add(new Image(skin.getDrawable("default-rect"))).height(20).row();
bottomRightTable.add(new Label(i + " BOTTOM-RIGHT verify scroll bars are on the BOTTOM and the RIGHT, and are properly aligned", skin)).row();
bottomRightTable.add(new Image(skin.getDrawable("default-rect"))).height(20).row();
topLeftTable.add(new Label(i + " TOP-LEFT verify scroll bars are on the TOP and the LEFT, and are properly aligned", skin)).row();
topLeftTable.add(new Image(skin.getDrawable("default-rect"))).height(20).row();
topRightTable.add(new Label(i + " TOP-RIGHT verify scroll bars are on the TOP and the RIGHT, and are properly aligned", skin)).row();
topRightTable.add(new Image(skin.getDrawable("default-rect"))).height(20).row();
vertOnlyLeftTable.add(new Label("VERT-ONLY-LEFT", skin)).row();
vertOnlyLeftTable.add(new Image(skin.getDrawable("default-rect"))).height(20).row();
vertOnlyRightTable.add(new Label("VERT-ONLY-RIGHT", skin)).row();
vertOnlyRightTable.add(new Image(skin.getDrawable("default-rect"))).height(20).row();
}
bottomLeft.add(bottomLeftScroll).expand().fill().colspan(4);
bottomRight.add(bottomRightScroll).expand().fill().colspan(4);
topLeft.add(topLeftScroll).expand().fill().colspan(4);
topRight.add(topRightScroll).expand().fill().colspan(4);
horizOnlyTop.add(horizOnlyTopScroll).expand().fill().colspan(4);
horizOnlyBottom.add(horizOnlyBottomScroll).expand().fill().colspan(4);
vertOnlyLeft.add(vertOnlyLeftScroll).expand().fill().colspan(4);
vertOnlyRight.add(vertOnlyRightScroll).expand().fill().colspan(4);
for (ScrollPane pane : scrollPanes) {
pane.setFadeScrollBars(doFade);
pane.setScrollbarsOnTop(doOnTop);
}
}
use of com.badlogic.gdx.scenes.scene2d.ui.Image in project libgdx by libgdx.
the class UISimpleTest method create.
@Override
public void create() {
batch = new SpriteBatch();
stage = new Stage();
Gdx.input.setInputProcessor(stage);
// A skin can be loaded via JSON or defined programmatically, either is fine. Using a skin is optional but strongly
// recommended solely for the convenience of getting a texture, region, etc as a drawable, tinted drawable, etc.
skin = new Skin();
// Generate a 1x1 white texture and store it in the skin named "white".
Pixmap pixmap = new Pixmap(1, 1, Format.RGBA8888);
pixmap.setColor(Color.WHITE);
pixmap.fill();
skin.add("white", new Texture(pixmap));
// Store the default libgdx font under the name "default".
skin.add("default", new BitmapFont());
// Configure a TextButtonStyle and name it "default". Skin resources are stored by type, so this doesn't overwrite the font.
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);
// Create a table that fills the screen. Everything else will go inside this table.
Table table = new Table();
table.setFillParent(true);
stage.addActor(table);
// Create a button with the "default" TextButtonStyle. A 3rd parameter can be used to specify a name other than "default".
final TextButton button = new TextButton("Click me!", skin);
table.add(button);
// Add a listener to the button. ChangeListener is fired when the button's checked state changes, eg when clicked,
// Button#setChecked() is called, via a key press, etc. If the event.cancel() is called, the checked state will be reverted.
// ClickListener could have been used, but would only fire when clicked. Also, canceling a ClickListener event won't
// revert the checked state.
button.addListener(new ChangeListener() {
public void changed(ChangeEvent event, Actor actor) {
System.out.println("Clicked! Is checked: " + button.isChecked());
button.setText("Good job!");
}
});
// Add an image actor. Have to set the size, else it would be the size of the drawable (which is the 1x1 texture).
table.add(new Image(skin.newDrawable("white", Color.RED))).size(64);
}
use of com.badlogic.gdx.scenes.scene2d.ui.Image in project libgdx by libgdx.
the class UITest method create.
@Override
public void create() {
skin = new Skin(Gdx.files.internal("data/uiskin.json"));
texture1 = new Texture(Gdx.files.internal("data/badlogicsmall.jpg"));
texture2 = new Texture(Gdx.files.internal("data/badlogic.jpg"));
TextureRegion image = new TextureRegion(texture1);
TextureRegion imageFlipped = new TextureRegion(image);
imageFlipped.flip(true, true);
TextureRegion image2 = new TextureRegion(texture2);
// stage = new Stage(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), false, new PolygonSpriteBatch());
stage = new Stage(new ScreenViewport());
Gdx.input.setInputProcessor(stage);
// Group.debug = true;
ImageButtonStyle style = new ImageButtonStyle(skin.get(ButtonStyle.class));
style.imageUp = new TextureRegionDrawable(image);
style.imageDown = new TextureRegionDrawable(imageFlipped);
ImageButton iconButton = new ImageButton(style);
Button buttonMulti = new TextButton("Multi\nLine\nToggle", skin, "toggle");
Button imgButton = new Button(new Image(image), skin);
Button imgToggleButton = new Button(new Image(image), skin, "toggle");
Label myLabel = new Label("this is some text.", skin);
myLabel.setWrap(true);
Table t = new Table();
t.row();
t.add(myLabel);
t.layout();
final CheckBox checkBox = new CheckBox(" Continuous rendering", skin);
checkBox.setChecked(true);
final Slider slider = new Slider(0, 10, 1, false, skin);
slider.setAnimateDuration(0.3f);
TextField textfield = new TextField("", skin);
textfield.setMessageText("Click here!");
textfield.setAlignment(Align.center);
final SelectBox selectBox = new SelectBox(skin);
selectBox.addListener(new ChangeListener() {
public void changed(ChangeEvent event, Actor actor) {
System.out.println(selectBox.getSelected());
}
});
selectBox.setItems("Android1", "Windows1 long text in item", "Linux1", "OSX1", "Android2", "Windows2", "Linux2", "OSX2", "Android3", "Windows3", "Linux3", "OSX3", "Android4", "Windows4", "Linux4", "OSX4", "Android5", "Windows5", "Linux5", "OSX5", "Android6", "Windows6", "Linux6", "OSX6", "Android7", "Windows7", "Linux7", "OSX7");
selectBox.setSelected("Linux6");
Image imageActor = new Image(image2);
ScrollPane scrollPane = new ScrollPane(imageActor);
List list = new List(skin);
list.setItems(listEntries);
list.getSelection().setMultiple(true);
list.getSelection().setRequired(false);
// list.getSelection().setToggle(true);
ScrollPane scrollPane2 = new ScrollPane(list, skin);
scrollPane2.setFlickScroll(false);
SplitPane splitPane = new SplitPane(scrollPane, scrollPane2, false, skin, "default-horizontal");
fpsLabel = new Label("fps:", skin);
// configures an example of a TextField in password mode.
final Label passwordLabel = new Label("Textfield in password mode: ", skin);
final TextField passwordTextField = new TextField("", skin);
passwordTextField.setMessageText("password");
passwordTextField.setPasswordCharacter('*');
passwordTextField.setPasswordMode(true);
buttonMulti.addListener(new TextTooltip("This is a tooltip! This is a tooltip! This is a tooltip! This is a tooltip! This is a tooltip! This is a tooltip!", skin));
Table tooltipTable = new Table(skin);
tooltipTable.pad(10).background("default-round");
tooltipTable.add(new TextButton("Fancy tooltip!", skin));
imgButton.addListener(new Tooltip(tooltipTable));
// window.debug();
Window window = new Window("Dialog", skin);
window.getTitleTable().add(new TextButton("X", skin)).height(window.getPadTop());
window.setPosition(0, 0);
window.defaults().spaceBottom(10);
window.row().fill().expandX();
window.add(iconButton);
window.add(buttonMulti);
window.add(imgButton);
window.add(imgToggleButton);
window.row();
window.add(checkBox);
window.add(slider).minWidth(100).fillX().colspan(3);
window.row();
window.add(selectBox).maxWidth(100);
window.add(textfield).minWidth(100).expandX().fillX().colspan(3);
window.row();
window.add(splitPane).fill().expand().colspan(4).maxHeight(200);
window.row();
window.add(passwordLabel).colspan(2);
window.add(passwordTextField).minWidth(100).expandX().fillX().colspan(2);
window.row();
window.add(fpsLabel).colspan(4);
window.pack();
// stage.addActor(new Button("Behind Window", skin));
stage.addActor(window);
textfield.setTextFieldListener(new TextFieldListener() {
public void keyTyped(TextField textField, char key) {
if (key == '\n')
textField.getOnscreenKeyboard().show(false);
}
});
slider.addListener(new ChangeListener() {
public void changed(ChangeEvent event, Actor actor) {
Gdx.app.log("UITest", "slider: " + slider.getValue());
}
});
iconButton.addListener(new ChangeListener() {
public void changed(ChangeEvent event, Actor actor) {
new Dialog("Some Dialog", skin, "dialog") {
protected void result(Object object) {
System.out.println("Chosen: " + object);
}
}.text("Are you enjoying this demo?").button("Yes", true).button("No", false).key(Keys.ENTER, true).key(Keys.ESCAPE, false).show(stage);
}
});
checkBox.addListener(new ChangeListener() {
public void changed(ChangeEvent event, Actor actor) {
Gdx.graphics.setContinuousRendering(checkBox.isChecked());
}
});
}
Aggregations