package com.mony.crazydriver.screens; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Screen; import com.badlogic.gdx.graphics.GL10; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.scenes.scene2d.InputEvent; import com.badlogic.gdx.scenes.scene2d.InputListener; 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.scenes.scene2d.ui.TextButton; import com.mony.crazydriver.CrazyDriver; import com.mony.crazydriver.util.Constants; /** * Men� InGame * Se muestra cuando el jugador pulsa la tecla P y muestra algunas opciones de la partida * y la opci�n de salir del juego * */ public class InGameMenuScreen implements Screen { CrazyDriver game; GameScreen gameScreen; Stage stage; Texture fondo; public InGameMenuScreen(CrazyDriver game, GameScreen gameScreen) { this.game = game; this.gameScreen = gameScreen; fondo = new Texture(Gdx.files.internal("imagenes/pausa.png")); } private void loadScreen() { stage = new Stage(); Table table = new Table(); table.setPosition(Constants.SCREEN_WIDTH / 2.5f, Constants.SCREEN_HEIGHT / 1.5f); table.setFillParent(true); table.setHeight(500); stage.addActor(table); Label label = new Label("", game.getSkin()); table.addActor(label); TextButton buttonResume = new TextButton("Continuar", game.getSkin()); buttonResume.setPosition(label.getOriginX()-50, label.getOriginY() - 60); buttonResume.setWidth(200); buttonResume.setHeight(40); buttonResume.addListener(new InputListener() { public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { return true; } public void touchUp(InputEvent event, float x, float y, int pointer, int button) { dispose(); game.setScreen(gameScreen); } }); table.addActor(buttonResume); TextButton buttonMainMenu = new TextButton("Volver al Menu Principal", game.getSkin()); buttonMainMenu.setPosition(label.getOriginX()-50, label.getOriginY() - 180); buttonMainMenu.setWidth(200); buttonMainMenu.setHeight(40); buttonMainMenu.addListener(new InputListener() { public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { return true; } public void touchUp(InputEvent event, float x, float y, int pointer, int button) { dispose(); game.setScreen(new MainMenuScreen(game)); } }); table.addActor(buttonMainMenu); // Bot�n TextButton buttonConfig = new TextButton("Configurar", game.getSkin()); buttonConfig.setPosition(label.getOriginX()-50, label.getOriginY() - 2); buttonConfig.setWidth(200); buttonConfig.setHeight(40); buttonConfig.addListener(new InputListener() { public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { return true; } public void touchUp(InputEvent event, float x, float y, int pointer, int button) { dispose(); game.setScreen(new ConfigurationScreen(game,gameScreen)); } }); table.addActor(buttonConfig); TextButton buttonQuit = new TextButton("Salir", game.getSkin()); buttonQuit.setPosition(label.getOriginX()-50, label.getOriginY() - 120); buttonQuit.setWidth(200); buttonQuit.setHeight(40); buttonQuit.addListener(new InputListener() { public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { return true; } public void touchUp(InputEvent event, float x, float y, int pointer, int button) { dispose(); System.exit(0); } }); table.addActor(buttonQuit); Gdx.input.setInputProcessor(stage); } @Override public void show() { loadScreen(); } @Override public void render(float dt) { Gdx.gl.glClearColor(0, 0, 0.2f, 1); Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); game.batch.begin(); game.batch.draw(fondo, 0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); game.batch.end(); // Pinta el menu stage.act(dt); stage.draw(); } @Override public void dispose() { } @Override public void hide() { } @Override public void pause() { } @Override public void resize(int arg0, int arg1) { } @Override public void resume() { } }