Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package ch.coldpixel.mario.Scenes; import ch.coldpixel.mario.MarioBros; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.graphics.g2d.BitmapFont; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.scenes.scene2d.Stage; import com.badlogic.gdx.scenes.scene2d.ui.Label; import com.badlogic.gdx.scenes.scene2d.ui.Table; import com.badlogic.gdx.utils.Disposable; import com.badlogic.gdx.utils.viewport.FitViewport; import com.badlogic.gdx.utils.viewport.Viewport; public class Hud implements Disposable { //============================================================================== //Initialization //============================================================================== //Scene2D.ui Stage and its own Viewport for HUD public Stage stage; private Viewport viewport; //Mario score/time Tracking Variables private Integer worldTimer; private float timeCount; private Integer score; //Scene2D widgets Label countdownLabel; Label scoreLabel; Label timeLabel; Label levelLabel; Label worldLabel; Label marioLabel; //============================================================================== //Methods //============================================================================== public Hud(SpriteBatch sb) { worldTimer = 300; timeCount = 0; score = 0; viewport = new FitViewport(MarioBros.V_WIDTH, MarioBros.V_HEIGHT, new OrthographicCamera()); stage = new Stage(viewport, sb); Table table = new Table(); table.top(); //Top of our Stage table.setFillParent(true); //Table = size of our stage countdownLabel = new Label(String.format("%03d", worldTimer), new Label.LabelStyle(new BitmapFont(), Color.WHITE));//%03d = how many numbers, d=int,BitmapFont = Graphic Font, not regular Font scoreLabel = new Label(String.format("%06d", score), new Label.LabelStyle(new BitmapFont(), Color.WHITE)); timeLabel = new Label("TIME", new Label.LabelStyle(new BitmapFont(), Color.WHITE)); levelLabel = new Label("1-1", new Label.LabelStyle(new BitmapFont(), Color.WHITE)); worldLabel = new Label("WORLD", new Label.LabelStyle(new BitmapFont(), Color.WHITE)); marioLabel = new Label("MARIO", new Label.LabelStyle(new BitmapFont(), Color.WHITE)); table.add(marioLabel).expandX().padTop(10); //expandX = shares width with all elements, ex: 3 elements, each takes 1/3 table.add(worldLabel).expandX().padTop(10); table.add(timeLabel).expandX().padTop(10); table.row();//New row table.add(scoreLabel).expandX(); table.add(levelLabel).expandX(); table.add(countdownLabel).expandX(); stage.addActor(table);//Add table to Stage } @Override public void dispose() { stage.dispose(); } }