X-Git-Url: https://deadsoftware.ru/gitweb?p=cavedroid.git;a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavecraft%2Fgame%2FGameRenderer.java;h=a1a4c66bd93cd9a6489f0a545929d8fce1fab475;hp=944093826043bbd51204107b89fabddd04e193c9;hb=792296717939ac50df33865ae3acbb010e812ad1;hpb=524d5abc0b76b25a4cf2b31e6ba4f41a107a5ab6 diff --git a/core/src/ru/deadsoftware/cavecraft/game/GameRenderer.java b/core/src/ru/deadsoftware/cavecraft/game/GameRenderer.java index 9440938..a1a4c66 100644 --- a/core/src/ru/deadsoftware/cavecraft/game/GameRenderer.java +++ b/core/src/ru/deadsoftware/cavecraft/game/GameRenderer.java @@ -6,50 +6,18 @@ import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; import com.badlogic.gdx.math.Vector2; -import ru.deadsoftware.cavecraft.Assets; -import ru.deadsoftware.cavecraft.CaveGame; -import ru.deadsoftware.cavecraft.GameScreen; -import ru.deadsoftware.cavecraft.Items; +import ru.deadsoftware.cavecraft.*; import ru.deadsoftware.cavecraft.game.mobs.Mob; import ru.deadsoftware.cavecraft.game.objects.Player; -public class GameRenderer { +public class GameRenderer extends Renderer{ private GameProc gameProc; - public OrthographicCamera camera, fontCam; - ShapeRenderer shapeRenderer; - SpriteBatch spriteBatch, fontBatch; - - public GameRenderer(GameProc gameProc) { + public GameRenderer(GameProc gameProc,float width, float heigth) { + super(width,heigth); Gdx.gl.glClearColor(0f,.6f,.6f,1f); this.gameProc = gameProc; - camera = new OrthographicCamera(); - if (!CaveGame.TOUCH) { - camera.setToOrtho(true, 480, - 480 * ((float) GameScreen.getHeight() / GameScreen.getWidth())); - } else { - camera.setToOrtho(true, 320, - 320 * ((float) GameScreen.getHeight() / GameScreen.getWidth())); - } - shapeRenderer = new ShapeRenderer(); - shapeRenderer.setProjectionMatrix(camera.combined); - shapeRenderer.setAutoShapeType(true); - spriteBatch = new SpriteBatch(); - spriteBatch.setProjectionMatrix(camera.combined); - - fontCam = new OrthographicCamera(); - fontCam.setToOrtho(true, GameScreen.getWidth(), GameScreen.getHeight()); - fontBatch = new SpriteBatch(); - fontBatch.setProjectionMatrix(fontCam.combined); - } - - private void setFontColor(int r, int g, int b) { - Assets.minecraftFont.setColor(r/255f, g/255f, b/255f, 1f); - } - - private void drawString(String str, float x, float y) { - Assets.minecraftFont.draw(fontBatch, str, x, y); } private void drawWorldBackground() { @@ -92,8 +60,12 @@ public class GameRenderer { } private void drawMob(Mob mob) { + mob.draw(spriteBatch, + mob.position.x-camera.position.x-gameProc.world.getWidth()*16, mob.position.y-camera.position.y); mob.draw(spriteBatch, mob.position.x-camera.position.x, mob.position.y-camera.position.y); + mob.draw(spriteBatch, + mob.position.x-camera.position.x+gameProc.world.getWidth()*16, mob.position.y-camera.position.y); } private void drawPlayer(Player pl) { @@ -195,6 +167,7 @@ public class GameRenderer { drawGUI(); } + @Override public void render() { Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); @@ -208,23 +181,18 @@ public class GameRenderer { drawCreative(); break; } - spriteBatch.end(); - if (CaveGame.TOUCH) { - spriteBatch.begin(); - drawTouchGui(); - spriteBatch.end(); - } + if (CaveGame.TOUCH) drawTouchGui(); - fontBatch.begin(); setFontColor(255,255,255); drawString("CaveCraft "+CaveGame.VERSION, 0, 0); - drawString("FPS: "+GameScreen.FPS, 0, 20); - drawString("X: "+(int)(gameProc.player.position.x/16), 0, 40); - drawString("Y: "+(gameProc.world.getHeight()-(int)(gameProc.player.position.y/16)), 0, 60); - drawString("Seed: "+WorldGen.getSeed(), 0, 80); - drawString("Mobs: "+gameProc.mobs.size, 0, 100); - fontBatch.end(); + drawString("FPS: "+GameScreen.FPS, 0, 12); + drawString("X: "+(int)(gameProc.player.position.x/16), 0, 24); + drawString("Y: "+(gameProc.world.getHeight()-(int)(gameProc.player.position.y/16)), 0, 36); + drawString("Seed: "+WorldGen.getSeed(), 0, 48); + drawString("Mobs: "+gameProc.mobs.size, 0, 60); + + spriteBatch.end(); } }