package sagittarius.view; import com.badlogic.gdx.Game; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.ScreenAdapter; import com.badlogic.gdx.scenes.scene2d.InputEvent; import com.badlogic.gdx.scenes.scene2d.Stage; import com.badlogic.gdx.scenes.scene2d.utils.ActorGestureListener; import com.badlogic.gdx.utils.viewport.FitViewport; import com.kotcrab.vis.ui.VisUI; import com.kotcrab.vis.ui.widget.VisTable; import com.kotcrab.vis.ui.widget.VisTextButton; public class StartScreen extends ScreenAdapter { private static final float WORLD_WIDTH = 1600; private static final float WORLD_HEIGHT = 900; private final Game game; private Stage stage; public StartScreen(Game game) { this.game = game; } public void show() { stage = new Stage(new FitViewport(WORLD_WIDTH, WORLD_HEIGHT)); Gdx.input.setInputProcessor(stage); VisUI.load(); VisTable root = new VisTable(true); root.setFillParent(true); stage.addActor(root); VisTextButton startButton = new VisTextButton("start"); startButton.addListener(new ActorGestureListener() { @Override public void tap(InputEvent event, float x, float y, int count, int button) { super.tap(event, x, y, count, button); game.setScreen(new GameScreen()); } }); VisTextButton quitButton = new VisTextButton("quit"); quitButton.addListener(new ActorGestureListener() { @Override public void tap(InputEvent event, float x, float y, int count, int button) { super.tap(event, x, y, count, button); Gdx.app.exit(); } }); root.add(startButton); root.row(); root.add(quitButton); root.row(); } public void resize(int width, int height) { stage.getViewport().update(width, height, true); } public void render(float deltaTime) { stage.act(deltaTime); stage.draw(); } @Override public void dispose() { VisUI.dispose(); stage.dispose(); super.dispose(); } }