Screen interface started

master
GammelJAN 5 years ago
parent 03e6113975
commit dadd5add4b

@ -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;
}
*/
}

@ -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.
}

@ -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