70 lines
2.2 KiB
Java
70 lines
2.2 KiB
Java
package fr.evolving.renderers;
|
|
|
|
import com.badlogic.gdx.Gdx;
|
|
import com.badlogic.gdx.graphics.GL20;
|
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
|
import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
|
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
|
import com.badlogic.gdx.graphics.glutils.ShapeRenderer.ShapeType;
|
|
|
|
import fr.evolving.assets.AssetLoader;
|
|
import fr.evolving.screens.GameScreen;
|
|
|
|
public class GameRenderer {
|
|
private ShapeRenderer shapeRenderer;
|
|
private SpriteBatch batcher;
|
|
private GameScreen GameScreen;
|
|
private TextureRegion oneselection;
|
|
private float rotation;
|
|
|
|
public GameRenderer(GameScreen GameScreen) {
|
|
this.GameScreen = GameScreen;
|
|
batcher = new SpriteBatch();
|
|
batcher.setProjectionMatrix(AssetLoader.Camera.combined);
|
|
shapeRenderer = new ShapeRenderer();
|
|
shapeRenderer.setProjectionMatrix(AssetLoader.Camera.combined);
|
|
oneselection = AssetLoader.Atlas_level.findRegion("circle");
|
|
rotation = 0f;
|
|
}
|
|
|
|
public void evolve() {
|
|
rotation += 5;
|
|
}
|
|
|
|
public void render(float delta, float runTime, int layer) {
|
|
if (layer == 0) {
|
|
Gdx.gl.glClearColor(0, 0, 0, 1);
|
|
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
|
|
} else if (layer == 1) {
|
|
batcher.begin();
|
|
batcher.setColor(0.25f, 0.25f, 0.25f, 1f);
|
|
batcher.draw(AssetLoader.Atlas_level.findRegion("barrehaut"), 0.0f,
|
|
AssetLoader.height - 198.0f, 1920.0f, 200.0f);
|
|
batcher.draw(AssetLoader.Atlas_level.findRegion("barrecentre"),
|
|
1480f, AssetLoader.height - 785.0f, 590f, 530.0f);
|
|
batcher.draw(AssetLoader.Atlas_level.findRegion("barrebas"), 0.0f,
|
|
0.0f, 1920.0f, 170.0f);
|
|
if (GameScreen.unroll)
|
|
batcher.draw(
|
|
AssetLoader.Atlas_level.findRegion("barrecentre2"),
|
|
1180f, AssetLoader.height - 1000.0f, 880f, 386.0f);
|
|
batcher.end();
|
|
} else if (layer == 2) {
|
|
shapeRenderer.begin(ShapeType.Filled);
|
|
shapeRenderer.end();
|
|
batcher.begin();
|
|
if (GameScreen.selected != null) {
|
|
batcher.setColor(1f, 0f, 0f, 1f);
|
|
batcher.draw(oneselection, GameScreen.selected.getX(),
|
|
GameScreen.selected.getY(),
|
|
GameScreen.selected.getWidth() / 2,
|
|
GameScreen.selected.getHeight() / 2,
|
|
GameScreen.selected.getWidth(),
|
|
GameScreen.selected.getHeight(), 1f, 1f, rotation);
|
|
}
|
|
batcher.end();
|
|
}
|
|
}
|
|
|
|
}
|