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