diff --git a/core/src/com/trs/main/Main.java b/core/src/com/trs/main/Main.java index fa70a85..7b3654d 100644 --- a/core/src/com/trs/main/Main.java +++ b/core/src/com/trs/main/Main.java @@ -1,74 +1,45 @@ package com.trs.main; -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.OrthographicCamera; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; import com.badlogic.gdx.math.Rectangle; import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.scenes.scene2d.Stage; -import com.badlogic.gdx.utils.viewport.FitViewport; +import com.trs.main.view.screens.GameScreen; -public class Main extends ApplicationAdapter implements InputProcessor{ +public class Main extends Game{ /** * TODO: set final Value for World */ - - OrthographicCamera camera; - Stage stage; - Rectangle viewportCheck; - ShapeRenderer renderer; - - - @Override - public void create () { - renderer = new ShapeRenderer(); - viewportCheck = new Rectangle(0, 0, 800f, 800f); - camera = new OrthographicCamera(); - camera.setToOrtho(false, 800f, 800f); - camera.update(); - stage = new Stage(new FitViewport(800f,800f, camera)); - Player p = new Player(); - stage.addActor(p); - stage.setKeyboardFocus(p); - renderer.setProjectionMatrix(camera.combined); - Gdx.input.setInputProcessor(stage); - } + + @Override + public void create () { + screen = new GameScreen(this, 800f, 800f); + } @Override public void resize(int width, int height) { - stage.getViewport().update(width, height, false); + screen.resize(width, width); super.resize(width, height); //To change body of generated methods, choose Tools | Templates. } - @Override - public void render () { - Gdx.gl.glClearColor(1f, (20f/255f), (147f/255f), 1); - Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); - resize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); - renderer.begin(ShapeRenderer.ShapeType.Filled); - renderer.setColor(Color.WHITE); - renderer.rect(viewportCheck.getX(), viewportCheck.getY(), viewportCheck.getWidth(), viewportCheck.getHeight()); - renderer.setColor(Color.BLACK); - Vector2 mouseRel = stage.getViewport().unproject(new Vector2(Gdx.input.getX(), Gdx.input.getY())); - renderer.circle(mouseRel.x,mouseRel.y, 20); - renderer.end(); - - - stage.act(Gdx.graphics.getDeltaTime()); - stage.draw(); - } - - @Override - public void dispose () { - } + @Override + public void render () { + Gdx.gl.glClearColor(1f, (20f/255f), (147f/255f), 1); + Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); + screen.render(Gdx.graphics.getDeltaTime()); + } + @Override + public void dispose () { + screen.dispose(); + } +/* @Override public boolean keyDown(int i) { return false; @@ -108,4 +79,5 @@ public class Main extends ApplicationAdapter implements InputProcessor{ public boolean scrolled(float f, float f1) { return false; } + */ } diff --git a/core/src/com/trs/main/Player.java b/core/src/com/trs/main/Player.java index 69dffa3..0a8ddad 100644 --- a/core/src/com/trs/main/Player.java +++ b/core/src/com/trs/main/Player.java @@ -20,23 +20,15 @@ import com.badlogic.gdx.scenes.scene2d.Actor; */ public class Player extends Actor{ - //Rectangle r; - //ShapeRenderer renderer; Texture t; - Player(){ - //renderer = new ShapeRenderer(); - //r = new Rectangle(0,0,800,800); - //setBounds(r.getX(), r.getY(), r.getWidth(), r.getHeight()); + public Player(int xPos, int yPos){ t = new Texture(Gdx.files.internal("badlogic.jpg")); - setBounds(0, 0, t.getWidth(), t.getHeight()); + setBounds(xPos, yPos, t.getWidth(), t.getHeight()); } @Override protected void positionChanged() { - //r.setX(getX()); - //r.setY(getY()); - super.positionChanged(); //To change body of generated methods, choose Tools | Templates. } @@ -61,12 +53,6 @@ public class Player extends Actor{ @Override public void draw(Batch batch, float parentAlpha) { - //batch.end(); - //renderer.setProjectionMatrix(batch.getProjectionMatrix()); - //renderer.begin(ShapeRenderer.ShapeType.Filled); - //renderer.rect(getX(), getY(), getWidth(), getHeight()); - //renderer.end(); - //batch.begin(); batch.draw(t, getX(), getY()); super.draw(batch, parentAlpha); //To change body of generated methods, choose Tools | Templates. } diff --git a/core/src/com/trs/main/view/screens/AbstractScreen.java b/core/src/com/trs/main/view/screens/AbstractScreen.java new file mode 100644 index 0000000..720e2cd --- /dev/null +++ b/core/src/com/trs/main/view/screens/AbstractScreen.java @@ -0,0 +1,61 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.trs.main.view.screens; + +import com.badlogic.gdx.Game; +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.Screen; +import com.badlogic.gdx.graphics.OrthographicCamera; +import com.badlogic.gdx.scenes.scene2d.Stage; +import com.badlogic.gdx.utils.viewport.FitViewport; + +/** + * + * @author Jan + */ +public abstract class AbstractScreen implements Screen{ + + float CAMERA_WIDTH; + float CAMERA_HEIGHT; + + protected Game game; + Stage stage; + OrthographicCamera camera; + + + public AbstractScreen(Game game, float CAMERA_WIDTH, float CAMERA_HEIGHT) { + this.game = game; + this.CAMERA_WIDTH = CAMERA_WIDTH; + this.CAMERA_HEIGHT = CAMERA_HEIGHT; + camera = new OrthographicCamera(); + camera.setToOrtho(false, this.CAMERA_WIDTH, this.CAMERA_HEIGHT); + camera.update(); + stage = new Stage(new FitViewport(this.CAMERA_WIDTH, this.CAMERA_HEIGHT, camera)); + Gdx.input.setInputProcessor(stage); + } + + @Override + public abstract void show(); + + @Override + public abstract void render(float f); + + @Override + public abstract void resize(int i, int i1); + + @Override + public abstract void pause(); + + @Override + public abstract void resume(); + + @Override + public abstract void hide(); + + @Override + public abstract void dispose(); + +} diff --git a/core/src/com/trs/main/view/screens/GameScreen.java b/core/src/com/trs/main/view/screens/GameScreen.java new file mode 100644 index 0000000..a5f0276 --- /dev/null +++ b/core/src/com/trs/main/view/screens/GameScreen.java @@ -0,0 +1,65 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.trs.main.view.screens; + +import com.badlogic.gdx.Game; +import com.badlogic.gdx.scenes.scene2d.Group; +import com.trs.main.Player; + +/** + * + * @author Jan + */ +public class GameScreen extends AbstractScreen{ + + public GameScreen(Game game, float CAMERA_WIDTH, float CAMERA_HEIGHT) { + super(game, CAMERA_WIDTH, CAMERA_HEIGHT); + Group group = new Group(); + group.addActor(new Player(0,0)); + group.addActor(new Player(256,0)); + group.addActor(new Player(0,256)); + group.addActor(new Player(256,256)); + group.addActor(new Player(512,512)); + group.addActor(new Player(256,512)); + group.addActor(new Player(0,512)); + group.addActor(new Player(512,256)); + group.addActor(new Player(512,0)); + stage.addActor(group); + } + + + @Override + public void show() { + } + + @Override + public void render(float f) { + stage.act(f); + stage.draw(); + } + + @Override + public void resize(int width, int height) { + stage.getViewport().update(width, height, false); + } + + @Override + public void pause() { + } + + @Override + public void resume() { + } + + @Override + public void hide() { + } + + @Override + public void dispose() { + } + +}