viewport demo

master
GammelJAN 5 years ago
parent 12b47d2000
commit 6d1e54d881

@ -3,27 +3,65 @@ package com.trs.main;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.graphics.Camera;
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.math.Vector3;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.utils.Scaling;
import com.badlogic.gdx.utils.viewport.FitViewport;
import com.badlogic.gdx.utils.viewport.ScalingViewport;
import com.badlogic.gdx.utils.viewport.ScreenViewport;
public class Main extends ApplicationAdapter implements InputProcessor{
OrthographicCamera camera;
Stage stage;
Rectangle viewportCheck;
ShapeRenderer renderer;
@Override
public void create () {
stage = new Stage(new ScreenViewport());
Player p = new Player();
stage.addActor(p);
stage.setKeyboardFocus(p);
Gdx.input.setInputProcessor(stage);
}
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 resize(int width, int height) {
stage.getViewport().update(width, height, false);
super.resize(width, height); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void render () {
Gdx.gl.glClearColor(1, 0, 0, 1);
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();
}

@ -10,6 +10,7 @@ import com.badlogic.gdx.Input;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.scenes.scene2d.Actor;
/**
@ -19,17 +20,23 @@ 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());
t = new Texture(Gdx.files.internal("badlogic.jpg"));
setBounds(50, 50, t.getWidth(), t.getHeight());
setBounds(0, 0, t.getWidth(), t.getHeight());
}
@Override
protected void positionChanged() {
setX(getX());
setY(getY());
//r.setX(getX());
//r.setY(getY());
super.positionChanged(); //To change body of generated methods, choose Tools | Templates.
}
@ -54,6 +61,12 @@ 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.
}

@ -7,6 +7,9 @@ import com.trs.main.Main;
public class DesktopLauncher {
public static void main (String[] arg) {
LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
//config.width=800;
//config.height=800;
config.resizable = true;
new LwjglApplication(new Main(), config);
}
}

Loading…
Cancel
Save