From fd08f8f644c943a23175728167f6f093a6bf239e Mon Sep 17 00:00:00 2001 From: GammelJAN Date: Fri, 25 Sep 2020 21:13:21 +0200 Subject: [PATCH] Screens, Button and Text classes --- core/src/com/trs/game/Controller.java | 77 +++++++++++++++---- core/src/com/trs/game/view/Button.java | 5 ++ core/src/com/trs/game/view/Screen.java | 15 +++- .../com/trs/game/view/Screens/EndScreen.java | 44 +++++++++++ .../com/trs/game/view/Screens/GameScreen.java | 53 +++++++++++++ .../trs/game/view/Screens/MainMenuScreen.java | 44 +++++++++++ core/src/com/trs/game/view/Text.java | 28 +++++++ .../com/trs/game/desktop/DesktopLauncher.java | 2 + 8 files changed, 250 insertions(+), 18 deletions(-) create mode 100644 core/src/com/trs/game/view/Screens/EndScreen.java create mode 100644 core/src/com/trs/game/view/Screens/GameScreen.java create mode 100644 core/src/com/trs/game/view/Screens/MainMenuScreen.java create mode 100644 core/src/com/trs/game/view/Text.java diff --git a/core/src/com/trs/game/Controller.java b/core/src/com/trs/game/Controller.java index 7814311..5d261a5 100644 --- a/core/src/com/trs/game/Controller.java +++ b/core/src/com/trs/game/Controller.java @@ -1,7 +1,9 @@ package com.trs.game; import com.badlogic.gdx.ApplicationAdapter; +import com.badlogic.gdx.Game; import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.InputProcessor; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.Texture; @@ -10,44 +12,48 @@ import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; import com.trs.game.view.Button; +import com.trs.game.view.Screen; +import com.trs.game.view.Screens.EndScreen; +import com.trs.game.view.Screens.GameScreen; +import com.trs.game.view.Screens.MainMenuScreen; + +public class Controller extends ApplicationAdapter implements InputProcessor { + + final int GAME_WORLD_WIDTH = 1600; + final int GAME_WORLD_HEIGHT = 900; -public class Controller extends ApplicationAdapter { SpriteBatch batch; ShapeRenderer renderer; BitmapFont font; - Button button; + Screen screen; @Override public void create () { batch = new SpriteBatch(); renderer = new ShapeRenderer(); - button = new Button(0, 200, 150, 200, 80, "EHRE", Color.YELLOW, Color.BLACK); - font = new BitmapFont(); + // BITMAP FONT + font = new BitmapFont(); FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("font.ttf")); FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter(); parameter.size = 21; font = generator.generateFont(parameter); generator.dispose(); font.setColor(Color.BLACK); + // + + screen = new MainMenuScreen(GAME_WORLD_WIDTH,GAME_WORLD_HEIGHT); + + Gdx.input.setInputProcessor(this); } @Override public void render () { Gdx.gl.glClearColor(1, 1, 1, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); - batch.begin(); - batch.end(); - renderer.begin(ShapeRenderer.ShapeType.Filled); - renderer.setColor(Color.WHITE); - renderer.rect(50,50,0,0,50,50,1,1,45); - renderer.setColor(Color.BLACK); - renderer.circle(50,50,5); - renderer.end(); - - button.render(batch,renderer,font); + screen.render(batch,renderer,font); } @Override @@ -55,4 +61,47 @@ public class Controller extends ApplicationAdapter { batch.dispose(); renderer.dispose(); } + + @Override + public boolean keyDown(int keycode) { + return false; + } + + @Override + public boolean keyUp(int keycode) { + return false; + } + + @Override + public boolean keyTyped(char character) { + return false; + } + + @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); + return true; + } + + @Override + public boolean touchUp(int screenX, int screenY, int pointer, int button) { + return false; + } + + @Override + public boolean touchDragged(int screenX, int screenY, int pointer) { + return false; + } + + @Override + public boolean mouseMoved(int screenX, int screenY) { + return false; + } + + @Override + public boolean scrolled(int amount) { + return false; + } } diff --git a/core/src/com/trs/game/view/Button.java b/core/src/com/trs/game/view/Button.java index 1c51d2b..92352d1 100644 --- a/core/src/com/trs/game/view/Button.java +++ b/core/src/com/trs/game/view/Button.java @@ -5,6 +5,7 @@ import com.badlogic.gdx.graphics.g2d.BitmapFont; import com.badlogic.gdx.graphics.g2d.GlyphLayout; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; +import com.badlogic.gdx.math.Rectangle; import com.badlogic.gdx.scenes.scene2d.utils.SpriteDrawable; public class Button { @@ -54,6 +55,10 @@ public class Button { this.id = id; } + public Rectangle getRect(){ + return new Rectangle(xPos,yPos,width,height); + } + public float getTextWidth(BitmapFont font, String text){ GlyphLayout glyphLayout = new GlyphLayout(); glyphLayout.setText(font,text); diff --git a/core/src/com/trs/game/view/Screen.java b/core/src/com/trs/game/view/Screen.java index c7ae438..ecb4fc1 100644 --- a/core/src/com/trs/game/view/Screen.java +++ b/core/src/com/trs/game/view/Screen.java @@ -1,5 +1,9 @@ package com.trs.game.view; +import com.badlogic.gdx.graphics.g2d.BitmapFont; +import com.badlogic.gdx.graphics.g2d.SpriteBatch; +import com.badlogic.gdx.graphics.glutils.ShapeRenderer; + import java.util.ArrayList; public abstract class Screen { @@ -7,17 +11,20 @@ public abstract class Screen { public final int SCREEN_WIDTH; public final int SCREEN_HEIGHT; - int id; - ArrayList