diff --git a/Ressourcen/1080p.png b/Ressourcen/1080p.png deleted file mode 100644 index 7ad9c81db739dcc97bc60470fb2107745990445a..0000000000000000000000000000000000000000 Binary files a/Ressourcen/1080p.png and /dev/null differ diff --git a/Ressourcen/1080p.psd b/Ressourcen/1080p.psd index af8af26d56737721876188d5a6a88d0f1ed718d7..d0dbfe83951bf044489550830865a265325d5bdb 100644 Binary files a/Ressourcen/1080p.psd and b/Ressourcen/1080p.psd differ diff --git a/core/assets/1080p.png b/core/assets/1080p.png new file mode 100644 index 0000000000000000000000000000000000000000..4a8a8e23058f56e09ac408a7679c1c561a866a76 Binary files /dev/null and b/core/assets/1080p.png differ diff --git a/Ressourcen/Rainmeter-skin/resources/game_data/img/main_menus/start_select2.png b/core/assets/start_select2.png similarity index 100% rename from Ressourcen/Rainmeter-skin/resources/game_data/img/main_menus/start_select2.png rename to core/assets/start_select2.png diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Main.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Main.java index 30f08fa6e76b07398dd8174db6170da104c839a2..ab2811cca4f59da10f3ebbf85fb7cb1937b98484 100644 --- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Main.java +++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Main.java @@ -1,14 +1,23 @@ package com.galaxytrucker.galaxytruckerreloaded; -import com.badlogic.gdx.Game; +import com.badlogic.gdx.ApplicationAdapter; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.OrthographicCamera; -import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; +import com.galaxytrucker.galaxytruckerreloaded.View.Screen.GameStateManager; +import com.galaxytrucker.galaxytruckerreloaded.View.Screen.MainMenu; -public class Main extends Game { +public class Main extends ApplicationAdapter { + /** + * Settings + */ + public static final int WIDTH = 1920; + public static final int HEIGHT = 1080; + + public static final String TITLE = "Galaxy Trucker"; + private GameStateManager gsm; /** * Sprite batch */ @@ -21,14 +30,21 @@ public class Main extends Game { @Override public void create() { - this.batch = new SpriteBatch(); - this.camera = new OrthographicCamera(); + batch = new SpriteBatch(); + gsm = new GameStateManager(); + //this.camera = new OrthographicCamera(); + Gdx.gl.glClearColor(1, 0, 0, 1); + gsm.push(new MainMenu(gsm)); } @Override public void render() { - Gdx.gl.glClearColor(1, 0, 0, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); + gsm.update(Gdx.graphics.getDeltaTime()); + //batch.begin(); + //batch.draw("1080p.png",0,0,WIDTH, HEIGHT); + gsm.render(batch); + //batch.end(); } @Override diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/GameStateManager.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/GameStateManager.java new file mode 100644 index 0000000000000000000000000000000000000000..1570abc0c6725e430a882d4118980bb46fac8198 --- /dev/null +++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/GameStateManager.java @@ -0,0 +1,36 @@ +package com.galaxytrucker.galaxytruckerreloaded.View.Screen; + +import com.badlogic.gdx.graphics.g2d.SpriteBatch; + +import java.util.Stack; + +public class GameStateManager { + + private Stack<State> states; + + public GameStateManager(){ + states = new Stack<State>(){}; + + } + + public void push(State state){ + states.push(state); + } + + public void pop(){ + states.pop(); + } + + public void set(State state){ + states.pop(); + states.push(state); + } + + public void update(float dt){ + states.peek().update(dt); + } + + public void render(SpriteBatch sb){ + states.peek().render(sb); + } +} diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/MainMenu.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/MainMenu.java index a1bfe5513292d215d4201468c7fb4bdbb0e94aea..0f462c2e7e30ddf68aa66a8a9095b40c6d80496d 100644 --- a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/MainMenu.java +++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/MainMenu.java @@ -1,94 +1,80 @@ package com.galaxytrucker.galaxytruckerreloaded.View.Screen; -import com.badlogic.gdx.Screen; -import com.badlogic.gdx.audio.Music; -import com.badlogic.gdx.audio.Sound; -import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; -import com.badlogic.gdx.scenes.scene2d.ui.ImageButton; import com.galaxytrucker.galaxytruckerreloaded.Main; -import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.MenuButtons.*; /** * Main menu screen */ -public class MainMenu implements Screen { +public class MainMenu extends State { - /** + private Texture background; + private Texture newGame; + /** Constructor */ + public MainMenu(GameStateManager gsm){ + super(gsm); + background = new Texture("1080p.png"); + newGame = new Texture("start_select2.png"); + } + + @Override + public void handleInput() { + + } + + @Override + public void update(float dt) { + + } + + @Override + public void render(SpriteBatch sb) { + sb.begin(); + sb.draw(background, 0,0); + sb.draw(newGame, Main.WIDTH/2 - newGame.getWidth()/2,Main.HEIGHT/2, 248,50); + sb.end(); + } + + /* *//** * The sprite batch - */ + *//* private SpriteBatch batch; - /** + *//** * Orthographic camera - */ + *//* private OrthographicCamera camera; - /** + *//** * The screen texture - */ + *//* private Texture background; - /** + *//** * new game button. leads to shipselector - */ + *//* private NewGameButton newGame; - /** + *//** * start game button. continues old game - */ + *//* private StartButton startGame; - /** + *//** * quit button - */ + *//* private QuitButton quitButton; - /** + *//** * Looping music track - */ + *//* private Music music; - /** + *//** * Click sound effect - */ - private Sound clickSound; - - @Override - public void show() { - - } - - @Override - public void render(float delta) { - - } - - @Override - public void resize(int width, int height) { - - } - - @Override - public void pause() { - - } - - @Override - public void resume() { - - } - - @Override - public void hide() { - - } - - @Override - public void dispose() { - - } + *//* + private Sound clickSound;*/ /** * starts a new game. @@ -114,7 +100,5 @@ public class MainMenu implements Screen { } - /** Constructor - * @param main - main class */ - public MainMenu(Main main){} + } diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/State.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/State.java new file mode 100644 index 0000000000000000000000000000000000000000..538085b16d25a5cbddb4c69a1539ec82b828bb4c --- /dev/null +++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/State.java @@ -0,0 +1,28 @@ +package com.galaxytrucker.galaxytruckerreloaded.View.Screen; + + +import com.badlogic.gdx.graphics.OrthographicCamera; +import com.badlogic.gdx.graphics.g2d.SpriteBatch; +import com.badlogic.gdx.math.Vector3; + +public abstract class State { + + /** + * Orthographic camera + */ + protected OrthographicCamera camera; + protected Vector3 mouse; + protected GameStateManager gsm; + + public State(GameStateManager gsm) { + this.gsm = gsm; + camera = new OrthographicCamera(); + mouse = new Vector3(); + } + + protected abstract void handleInput(); + public abstract void update(float dt); + public abstract void render(SpriteBatch sb); + + +} diff --git a/desktop/src/com/galaxytrucker/galaxytruckerreloaded/desktop/DesktopLauncher.java b/desktop/src/com/galaxytrucker/galaxytruckerreloaded/desktop/DesktopLauncher.java index aa4c18bb550e6e111eb04dabc870fb439f0563de..741ee37ed6db2f9d4362f644a48c990b809af440 100644 --- a/desktop/src/com/galaxytrucker/galaxytruckerreloaded/desktop/DesktopLauncher.java +++ b/desktop/src/com/galaxytrucker/galaxytruckerreloaded/desktop/DesktopLauncher.java @@ -7,6 +7,10 @@ import com.galaxytrucker.galaxytruckerreloaded.Main; public class DesktopLauncher { public static void main (String[] arg) { LwjglApplicationConfiguration config = new LwjglApplicationConfiguration(); + config.width = Main.WIDTH; + config.height = Main.HEIGHT; + config.title = Main.TITLE; + new LwjglApplication(new Main(), config); } }