Skip to content
Snippets Groups Projects
Commit 27ecfd44 authored by Magnus Segtnan Skjølberg's avatar Magnus Segtnan Skjølberg
Browse files

(#18): create hud for gameplay class

parent 29777a26
No related branches found
No related tags found
4 merge requests!51Resolve "Adjust cannon angle from touch input",!35Draft: Resolve "Adjust cannon angle from touch input",!32Combine hud with gameplay,!25Draft: Resolve "Create UI for gameplay"
package com.game.tankwars.view;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.scenes.scene2d.ui.Button;
import com.badlogic.gdx.scenes.scene2d.ui.HorizontalGroup;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.scenes.scene2d.ui.ProgressBar;
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
import com.badlogic.gdx.scenes.scene2d.ui.Slider;
import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.utils.viewport.Viewport;
import com.ray3k.stripe.FreeTypeSkin;
public class GameHud {
private Stage stage;
private Table table;
private Skin skin;
private ProgressBar healthProgressBarPlayer;
private ProgressBar healthProgressBarOpponent;
private TextButton fireButton;
private HorizontalGroup powerContainer;
private Label powerLabel;
private Slider powerSlider;
private Button moveLeft;
private Button moveRight;
private HorizontalGroup moveContainer;
public GameHud(Viewport viewport, SpriteBatch batch) {
stage = new Stage(viewport, batch);
table = new Table();
table.setFillParent(true);
table.setDebug(true);
stage.addActor(table);
skin = new FreeTypeSkin(Gdx.files.internal("gameplay-skin.json"));
healthProgressBarPlayer = new ProgressBar(0, 100, 1, false, skin);
healthProgressBarPlayer.setValue(40);
healthProgressBarOpponent = new ProgressBar(0, 100, 1, false, skin);
healthProgressBarOpponent.setValue(40);
table.add(healthProgressBarPlayer).expand().top().left().padTop(10).padLeft(10);
table.add(healthProgressBarOpponent).expand().top().right().padTop(10).padRight(10);
table.row();
fireButton = new TextButton("Fire!", skin);
table.add(fireButton).expand().bottom().left().padLeft(10).padBottom(10);
powerLabel = new Label("Power", skin.get("roboto-black-white", Label.LabelStyle.class));
powerSlider = new Slider(0, 100, 1, false, skin);
powerContainer = new HorizontalGroup().space(10);
powerContainer.addActor(powerLabel);
powerContainer.addActor(powerSlider);
table.add(powerContainer).expand().bottom().padBottom(10);
moveLeft = new Button(skin.get("move-left", Button.ButtonStyle.class));
moveRight = new Button(skin.get("move-right", Button.ButtonStyle.class));
moveContainer = new HorizontalGroup().space(10);
moveContainer.addActor(moveLeft);
moveContainer.addActor(moveRight);
table.add(moveContainer).expand().bottom().right().padBottom(10).padRight(10);
}
public Stage getStage() {
return stage;
}
public Skin getSkin() {
return skin;
}
public TextButton getFireButton() {
return fireButton;
}
public Slider getPowerSlider() {
return powerSlider;
}
public Button getMoveLeft() {
return moveLeft;
}
public Button getMoveRight() {
return moveRight;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment