X-Git-Url: https://deadsoftware.ru/gitweb?p=cavedroid.git;a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavecraft%2Fgame%2FGameRenderer.java;h=3d65ddc68faf2db0ed563a673991698b3ace6b8e;hp=72686d11e6484a83a5091f09776f499965236267;hb=1c798d88e9c23d438e7fa770c9670b02a761f866;hpb=9764e4838dcb79279ce99b5916aca12dd5a2b259 diff --git a/core/src/ru/deadsoftware/cavecraft/game/GameRenderer.java b/core/src/ru/deadsoftware/cavecraft/game/GameRenderer.java index 72686d1..3d65ddc 100644 --- a/core/src/ru/deadsoftware/cavecraft/game/GameRenderer.java +++ b/core/src/ru/deadsoftware/cavecraft/game/GameRenderer.java @@ -2,6 +2,7 @@ package ru.deadsoftware.cavecraft.game; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.GL20; +import com.badlogic.gdx.graphics.glutils.ShapeRenderer; import ru.deadsoftware.cavecraft.CaveGame; import ru.deadsoftware.cavecraft.GameScreen; import ru.deadsoftware.cavecraft.game.mobs.Mob; @@ -46,8 +47,6 @@ public class GameRenderer extends Renderer { drawX(x), drawY(y)); if (gp.world.getForeMap(x, y) == 0 && x == gp.curX && y == gp.curY) drawWreck(gp.world.getBackMap(gp.curX, gp.curY)); - Assets.shade.setPosition(drawX(x), drawY(y)); - Assets.shade.draw(spriter); } } if (gp.world.getForeMap(x, y) > 0 && GameItems.getBlock(gp.world.getForeMap(x, y)).isBackground() == drawBG) { @@ -71,6 +70,22 @@ public class GameRenderer extends Renderer { drawBlock(x, y, bg); } } + if (bg) { + spriter.end(); + Gdx.gl.glEnable(GL20.GL_BLEND); + Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); + shaper.begin(ShapeRenderer.ShapeType.Filled); + shaper.setColor(0f, 0f, 0f, .5f); + for (int y = minY; y < maxY; y++) { + for (int x = minX; x < maxX; x++) { + if ((gp.world.getForeMap(x, y) == 0 || GameItems.getBlock(gp.world.getForeMap(x, y)).isTransparent()) + && gp.world.getBackMap(x, y) > 0) shaper.rect(drawX(x), drawY(y), 16, 16); + } + } + shaper.end(); + Gdx.gl.glDisable(GL20.GL_BLEND); + spriter.begin(); + } } private void drawMob(Mob mob) {