Show pause menu on back key press (Android)
This commit is contained in:
parent
9eaba524bd
commit
c47227d592
4 changed files with 11 additions and 9 deletions
|
@ -32,6 +32,7 @@ public class Klooni extends Game {
|
||||||
skin.add("replay_texture", new Texture(Gdx.files.internal("ui/replay.png")));
|
skin.add("replay_texture", new Texture(Gdx.files.internal("ui/replay.png")));
|
||||||
skin.add("share_texture", new Texture(Gdx.files.internal("ui/share.png")));
|
skin.add("share_texture", new Texture(Gdx.files.internal("ui/share.png")));
|
||||||
|
|
||||||
|
Gdx.input.setCatchBackKey(true); // To show the pause menu
|
||||||
setScreen(new MainMenuScreen(this));
|
setScreen(new MainMenuScreen(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,6 @@ import com.badlogic.gdx.Gdx;
|
||||||
import com.badlogic.gdx.Input;
|
import com.badlogic.gdx.Input;
|
||||||
import com.badlogic.gdx.InputProcessor;
|
import com.badlogic.gdx.InputProcessor;
|
||||||
import com.badlogic.gdx.Screen;
|
import com.badlogic.gdx.Screen;
|
||||||
import com.badlogic.gdx.graphics.Color;
|
|
||||||
import com.badlogic.gdx.graphics.GL20;
|
import com.badlogic.gdx.graphics.GL20;
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
||||||
|
|
||||||
|
@ -25,12 +24,9 @@ public class GameScreen implements Screen, InputProcessor {
|
||||||
|
|
||||||
private SpriteBatch batch;
|
private SpriteBatch batch;
|
||||||
|
|
||||||
private final Color clearColor;
|
|
||||||
|
|
||||||
private final PauseMenuStage pauseMenu;
|
private final PauseMenuStage pauseMenu;
|
||||||
|
|
||||||
GameScreen(final Klooni game) {
|
GameScreen(final Klooni game) {
|
||||||
clearColor = new Color(0.9f, 0.9f, 0.7f, 1f);
|
|
||||||
batch = new SpriteBatch();
|
batch = new SpriteBatch();
|
||||||
|
|
||||||
layout = new GameLayout();
|
layout = new GameLayout();
|
||||||
|
@ -38,7 +34,6 @@ public class GameScreen implements Screen, InputProcessor {
|
||||||
scorer = new Scorer(layout, 10);
|
scorer = new Scorer(layout, 10);
|
||||||
board = new Board(layout, 10);
|
board = new Board(layout, 10);
|
||||||
holder = new PieceHolder(layout, 3);
|
holder = new PieceHolder(layout, 3);
|
||||||
|
|
||||||
pauseMenu = new PauseMenuStage(layout, game, scorer);
|
pauseMenu = new PauseMenuStage(layout, game, scorer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,7 +55,7 @@ public class GameScreen implements Screen, InputProcessor {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void render(float delta) {
|
public void render(float delta) {
|
||||||
Gdx.gl.glClearColor(clearColor.r, clearColor.g, clearColor.b, clearColor.a);
|
Gdx.gl.glClearColor(0.9f, 0.9f, 0.9f, 1f);
|
||||||
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
|
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
|
||||||
|
|
||||||
batch.begin();
|
batch.begin();
|
||||||
|
@ -114,7 +109,7 @@ public class GameScreen implements Screen, InputProcessor {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean keyUp(int keycode) {
|
public boolean keyUp(int keycode) {
|
||||||
if (keycode == Input.Keys.P) // Pause
|
if (keycode == Input.Keys.P || keycode == Input.Keys.BACK) // Pause
|
||||||
pauseMenu.show(false);
|
pauseMenu.show(false);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
package io.github.lonamiwebs.klooni.screens;
|
package io.github.lonamiwebs.klooni.screens;
|
||||||
|
|
||||||
import com.badlogic.gdx.Gdx;
|
import com.badlogic.gdx.Gdx;
|
||||||
|
import com.badlogic.gdx.Input;
|
||||||
import com.badlogic.gdx.Screen;
|
import com.badlogic.gdx.Screen;
|
||||||
import com.badlogic.gdx.graphics.Color;
|
import com.badlogic.gdx.graphics.Color;
|
||||||
import com.badlogic.gdx.graphics.GL20;
|
import com.badlogic.gdx.graphics.GL20;
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.InputListener;
|
||||||
import com.badlogic.gdx.scenes.scene2d.Stage;
|
import com.badlogic.gdx.scenes.scene2d.Stage;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.ImageButton;
|
import com.badlogic.gdx.scenes.scene2d.ui.ImageButton;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Table;
|
import com.badlogic.gdx.scenes.scene2d.ui.Table;
|
||||||
|
@ -13,7 +15,7 @@ import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
|
||||||
|
|
||||||
import io.github.lonamiwebs.klooni.Klooni;
|
import io.github.lonamiwebs.klooni.Klooni;
|
||||||
|
|
||||||
public class MainMenuScreen implements Screen {
|
public class MainMenuScreen extends InputListener implements Screen {
|
||||||
private Klooni game;
|
private Klooni game;
|
||||||
|
|
||||||
Stage stage;
|
Stage stage;
|
||||||
|
@ -88,6 +90,10 @@ public class MainMenuScreen implements Screen {
|
||||||
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
|
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
|
||||||
stage.act(Math.min(Gdx.graphics.getDeltaTime(), minDelta));
|
stage.act(Math.min(Gdx.graphics.getDeltaTime(), minDelta));
|
||||||
stage.draw();
|
stage.draw();
|
||||||
|
|
||||||
|
if (Gdx.input.isKeyJustPressed(Input.Keys.BACK)) {
|
||||||
|
Gdx.app.exit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -158,7 +158,7 @@ public class PauseMenuStage extends Stage {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean keyUp(int keyCode) {
|
public boolean keyUp(int keyCode) {
|
||||||
if (keyCode == Input.Keys.P) // Pause
|
if (keyCode == Input.Keys.P || keyCode == Input.Keys.BACK) // Pause
|
||||||
hide();
|
hide();
|
||||||
|
|
||||||
return super.keyUp(keyCode);
|
return super.keyUp(keyCode);
|
||||||
|
|
Loading…
Reference in a new issue