From a428223e41b501a7a7d81c1645f86c3dc05d540a Mon Sep 17 00:00:00 2001 From: GammelJAN Date: Fri, 25 Sep 2020 22:09:39 +0200 Subject: [PATCH] buttons working --- core/src/com/trs/game/Controller.java | 18 +++++++++++++++--- .../com/trs/game/view/Screens/EndScreen.java | 15 ++++++++++++++- .../com/trs/game/view/Screens/GameScreen.java | 6 +++++- .../trs/game/view/Screens/MainMenuScreen.java | 15 ++++++++++++++- .../com/trs/game/desktop/DesktopLauncher.java | 1 + 5 files changed, 49 insertions(+), 6 deletions(-) diff --git a/core/src/com/trs/game/Controller.java b/core/src/com/trs/game/Controller.java index 72e4224..56648a0 100644 --- a/core/src/com/trs/game/Controller.java +++ b/core/src/com/trs/game/Controller.java @@ -119,9 +119,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor { @Override public boolean touchDown(int screenX, int screenY, int pointer, int button) { - if(screen.getId() == 0) screen = new GameScreen(GAME_WORLD_WIDTH, GAME_WORLD_HEIGHT); - else if(screen.getId() == 1) screen = new EndScreen(GAME_WORLD_WIDTH, GAME_WORLD_HEIGHT); - else if(screen.getId() == 2) screen = new MainMenuScreen(GAME_WORLD_WIDTH, GAME_WORLD_HEIGHT); + ManageButtonEvent(screen.touchDown(screenX,GAME_WORLD_HEIGHT-screenY)); return true; } @@ -144,4 +142,18 @@ public class Controller extends ApplicationAdapter implements InputProcessor { public boolean scrolled(int amount) { return false; } + + public void ManageButtonEvent(int keycode){ + switch(keycode){ + case 0: //GOTO MAINMENU + screen = new MainMenuScreen(GAME_WORLD_WIDTH,GAME_WORLD_HEIGHT); + break; + case 1: //GOTO GAMESCREEN + screen = new GameScreen(GAME_WORLD_WIDTH,GAME_WORLD_HEIGHT); + break; + case 2: //GOTO ENDSCREEN + screen = new EndScreen(GAME_WORLD_WIDTH,GAME_WORLD_HEIGHT); + break; + } + } } diff --git a/core/src/com/trs/game/view/Screens/EndScreen.java b/core/src/com/trs/game/view/Screens/EndScreen.java index 0101226..0c4d3b6 100644 --- a/core/src/com/trs/game/view/Screens/EndScreen.java +++ b/core/src/com/trs/game/view/Screens/EndScreen.java @@ -4,6 +4,8 @@ import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.g2d.BitmapFont; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; +import com.badlogic.gdx.math.Intersector; +import com.badlogic.gdx.math.Rectangle; import com.trs.game.view.Button; import com.trs.game.view.Screen; import com.trs.game.view.Text; @@ -12,8 +14,12 @@ public class EndScreen extends Screen { public EndScreen(int GAME_WORLD_WIDTH, int GAME_WORLD_HEIGHT){ super(GAME_WORLD_WIDTH, GAME_WORLD_HEIGHT, 2); - buttons.add(new Button(0,0,0,200,200,"EndScreen", Color.BLACK,Color.WHITE)); + buttons.add(new Button(-1,0,0,200,200,"EndScreen", Color.BLACK,Color.WHITE)); texts.add(new Text(500,500,"EHREEHREEHRE",Color.RED)); + + buttons.add(new Button(0,0,800,200,100, "MainMenu", Color.BLACK,Color.WHITE)); + buttons.add(new Button(1,200,800,200,100, "GameScreen", Color.DARK_GRAY,Color.WHITE)); + buttons.add(new Button(2,400,800,200,100, "EndScreen", Color.BLACK,Color.WHITE)); } @Override @@ -34,6 +40,13 @@ public class EndScreen extends Screen { @Override public int touchDown(int x, int y) { + Rectangle r = new Rectangle(x,y,1,1); + for(Button button : buttons){ + if(Intersector.overlaps(r, button.getRect())){ + System.out.println(button.getId()); + return button.getId(); + } + } return 0; } diff --git a/core/src/com/trs/game/view/Screens/GameScreen.java b/core/src/com/trs/game/view/Screens/GameScreen.java index 731b667..6ac43ed 100644 --- a/core/src/com/trs/game/view/Screens/GameScreen.java +++ b/core/src/com/trs/game/view/Screens/GameScreen.java @@ -14,8 +14,12 @@ public class GameScreen extends Screen { public GameScreen(int GAME_WORLD_WIDTH, int GAME_WORLD_HEIGHT){ super(GAME_WORLD_WIDTH, GAME_WORLD_HEIGHT, 1); - buttons.add(new Button(0,0,0,200,200,"GameScreen", Color.BLACK,Color.WHITE)); + buttons.add(new Button(-1,0,0,200,200,"GameScreen", Color.BLACK,Color.WHITE)); texts.add(new Text(500,500,"EHREEHRE",Color.RED)); + + buttons.add(new Button(0,0,800,200,100, "MainMenu", Color.BLACK,Color.WHITE)); + buttons.add(new Button(1,200,800,200,100, "GameScreen", Color.DARK_GRAY,Color.WHITE)); + buttons.add(new Button(2,400,800,200,100, "EndScreen", Color.BLACK,Color.WHITE)); } @Override diff --git a/core/src/com/trs/game/view/Screens/MainMenuScreen.java b/core/src/com/trs/game/view/Screens/MainMenuScreen.java index 1ece45b..12e305f 100644 --- a/core/src/com/trs/game/view/Screens/MainMenuScreen.java +++ b/core/src/com/trs/game/view/Screens/MainMenuScreen.java @@ -4,6 +4,8 @@ import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.g2d.BitmapFont; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; +import com.badlogic.gdx.math.Intersector; +import com.badlogic.gdx.math.Rectangle; import com.trs.game.view.Button; import com.trs.game.view.Screen; import com.trs.game.view.Text; @@ -12,8 +14,12 @@ public class MainMenuScreen extends Screen { public MainMenuScreen(int GAME_WORLD_WIDTH, int GAME_WORLD_HEIGHT){ super(GAME_WORLD_WIDTH, GAME_WORLD_HEIGHT, 0); - buttons.add(new Button(0,0,0,200,200,"MainMenuScreen", Color.BLACK,Color.WHITE)); + buttons.add(new Button(-1,0,0,200,200,"MainMenuScreen", Color.BLACK,Color.WHITE)); texts.add(new Text(500,500,"EHRE",Color.RED)); + + buttons.add(new Button(0,0,800,200,100, "MainMenu", Color.BLACK,Color.WHITE)); + buttons.add(new Button(1,200,800,200,100, "GameScreen", Color.DARK_GRAY,Color.WHITE)); + buttons.add(new Button(2,400,800,200,100, "EndScreen", Color.BLACK,Color.WHITE)); } @Override @@ -34,6 +40,13 @@ public class MainMenuScreen extends Screen { @Override public int touchDown(int x, int y) { + Rectangle r = new Rectangle(x,y,1,1); + for(Button button : buttons){ + if(Intersector.overlaps(r, button.getRect())){ + System.out.println(button.getId()); + return button.getId(); + } + } return 0; } diff --git a/desktop/src/com/trs/game/desktop/DesktopLauncher.java b/desktop/src/com/trs/game/desktop/DesktopLauncher.java index d9d4bd0..fda0a71 100644 --- a/desktop/src/com/trs/game/desktop/DesktopLauncher.java +++ b/desktop/src/com/trs/game/desktop/DesktopLauncher.java @@ -10,6 +10,7 @@ public class DesktopLauncher { config.width = 1600; config.height = 900; config.samples = 8; + config.resizable = false; new LwjglApplication(new Controller(), config); } }