Move away from using pixel coordinates to "board coordinates"

Changed aspect ratio from 4:3 to 9:16
This commit is contained in:
2018-11-13 15:57:44 +04:00
parent 1c7e20f8e9
commit a56d721050
5 changed files with 34 additions and 12 deletions

View File

@ -3,16 +3,23 @@ package com.me.brickbuster;
import com.badlogic.gdx.Game;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
import com.badlogic.gdx.utils.viewport.StretchViewport;
import com.badlogic.gdx.utils.viewport.Viewport;
import com.me.brickbuster.state.PlayState;
public class BrickBuster extends Game {
public static final int WIDTH = 800;
public static final int HEIGHT = 600;
public static final String TITLE = "Brick Buster";
// 9*16 board area
public static final int BOARD_WIDTH = 2250;
public static final int BOARD_HEIGHT = 4000;
public OrthographicCamera cam;
public Viewport viewport;
public BitmapFont font;
public SpriteBatch sb;
@ -20,6 +27,10 @@ public class BrickBuster extends Game {
@Override
public void create () {
cam = new OrthographicCamera();
viewport = new StretchViewport(BOARD_WIDTH, BOARD_HEIGHT, cam);
viewport.apply(true);
font = new BitmapFont();
sb = new SpriteBatch();
sr = new ShapeRenderer();
@ -35,4 +46,14 @@ public class BrickBuster extends Game {
super.render();
}
@Override
public void resize(int width, int height) {
viewport.update(width, height);
sb.setProjectionMatrix(cam.combined);
sr.setProjectionMatrix(cam.combined);
super.resize(width, height);
}
}