Files
BrickBuster/core/src/com/me/brickbuster/BrickBuster.java

76 lines
2.0 KiB
Java

package com.me.brickbuster;
import com.badlogic.gdx.Game;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.assets.AssetManager;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.PolygonSpriteBatch;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
import com.badlogic.gdx.math.Matrix4;
import com.badlogic.gdx.utils.viewport.FitViewport;
import com.badlogic.gdx.utils.viewport.Viewport;
import com.me.brickbuster.state.MenuState;
import com.me.brickbuster.state.PlayState;
public class BrickBuster extends Game {
public static final String TITLE = "Brick Buster";
// 9*16 board area
public static final int BOARD_WIDTH = 2160;
public static final int BOARD_HEIGHT = 3840;
public OrthographicCamera cam;
public Viewport viewport;
public BitmapFont font;
public SpriteBatch sb;
public SpriteBatch fb;
public ShapeRenderer sr;
public AssetManager assets;
@Override
public void create () {
cam = new OrthographicCamera();
viewport = new FitViewport(BOARD_WIDTH, BOARD_HEIGHT, cam);
viewport.apply(true);
font = new BitmapFont();
font.getData().setScale(4);
font.getRegion().getTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
sb = new SpriteBatch();
fb = new SpriteBatch();
sr = new ShapeRenderer();
assets = new AssetManager();
setScreen(new MenuState(this));
}
@Override
public void render () {
Gdx.gl.glClearColor(0f,0f,0f,1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
// Render the current Screen (State)
super.render();
}
@Override
public void resize(int width, int height) {
viewport.update(width, height);
Matrix4 projection = cam.combined.cpy().scl(PlayState.PIXEL_PER_METER);
sb.setProjectionMatrix(projection);
fb.setProjectionMatrix(cam.combined);
sr.setProjectionMatrix(projection);
super.resize(width, height);
}
}