Screen interface started

master
GammelJAN 5 years ago
parent 03e6113975
commit dadd5add4b

@ -1,74 +1,45 @@
package com.trs.main; package com.trs.main;
import com.badlogic.gdx.ApplicationAdapter; import com.badlogic.gdx.Game;
import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputProcessor;
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.OrthographicCamera;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer; import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
import com.badlogic.gdx.math.Rectangle; import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.scenes.scene2d.Stage; import com.trs.main.view.screens.GameScreen;
import com.badlogic.gdx.utils.viewport.FitViewport;
public class Main extends ApplicationAdapter implements InputProcessor{ public class Main extends Game{
/** /**
* TODO: set final Value for World * TODO: set final Value for World
*/ */
OrthographicCamera camera; @Override
Stage stage; public void create () {
Rectangle viewportCheck; screen = new GameScreen(this, 800f, 800f);
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 @Override
public void resize(int width, int height) { 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. super.resize(width, height); //To change body of generated methods, choose Tools | Templates.
} }
@Override @Override
public void render () { public void render () {
Gdx.gl.glClearColor(1f, (20f/255f), (147f/255f), 1); Gdx.gl.glClearColor(1f, (20f/255f), (147f/255f), 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
resize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); screen.render(Gdx.graphics.getDeltaTime());
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 dispose () {
screen.dispose();
}
/*
@Override @Override
public boolean keyDown(int i) { public boolean keyDown(int i) {
return false; return false;
@ -108,4 +79,5 @@ public class Main extends ApplicationAdapter implements InputProcessor{
public boolean scrolled(float f, float f1) { public boolean scrolled(float f, float f1) {
return false; return false;
} }
*/
} }

@ -20,23 +20,15 @@ import com.badlogic.gdx.scenes.scene2d.Actor;
*/ */
public class Player extends Actor{ public class Player extends Actor{
//Rectangle r;
//ShapeRenderer renderer;
Texture t; Texture t;
Player(){ public Player(int xPos, int yPos){
//renderer = new ShapeRenderer();
//r = new Rectangle(0,0,800,800);
//setBounds(r.getX(), r.getY(), r.getWidth(), r.getHeight());
t = new Texture(Gdx.files.internal("badlogic.jpg")); t = new Texture(Gdx.files.internal("badlogic.jpg"));
setBounds(0, 0, t.getWidth(), t.getHeight()); setBounds(xPos, yPos, t.getWidth(), t.getHeight());
} }
@Override @Override
protected void positionChanged() { protected void positionChanged() {
//r.setX(getX());
//r.setY(getY());
super.positionChanged(); //To change body of generated methods, choose Tools | Templates. super.positionChanged(); //To change body of generated methods, choose Tools | Templates.
} }
@ -61,12 +53,6 @@ public class Player extends Actor{
@Override @Override
public void draw(Batch batch, float parentAlpha) { 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()); batch.draw(t, getX(), getY());
super.draw(batch, parentAlpha); //To change body of generated methods, choose Tools | Templates. super.draw(batch, parentAlpha); //To change body of generated methods, choose Tools | Templates.
} }

@ -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();
}

@ -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() {
}
}
Loading…
Cancel
Save