I'm trying to draw FilledRectangles behind two different images using this code. But the ShapeRenderer isn't drawing anything.
public void render(float delta) {
shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
shapeRenderer.setColor(tankColor);
shapeRenderer.rect(tankButton.x, tankButton.y,
tankButton.width+50, tankButton.height+50);
shapeRenderer.setColor(notesColor);
shapeRenderer.rect(notesButton.x, notesButton.y,
notesButton.width+50, notesButton.height+50);
shapeRenderer.end();
batch.begin();
batch.draw(assetsLoader.backTexture, 0, 0, screenWidth, screenHeight);
assetsLoader.shadow.draw(batch, " Touch for Sound !",
Gdx.graphics.getWidth() / 2f - 150 + 5,
200 + assetsLoader.font.getCapHeight() + 5, 400, Align.center, false);
assetsLoader.font.draw(batch, " Touch for Sound !",
Gdx.graphics.getWidth() / 2f - 150,
200 + assetsLoader.font.getCapHeight(), 400, Align.center, false);
// draw tank and notes image
batch.draw(assetsLoader.tankTexture, tankButton.x, tankButton.y,
tankButton.getWidth(), tankButton.getHeight());
batch.draw(assetsLoader.notesTexture, notesButton.x, notesButton.y,
notesButton.getWidth(), notesButton.getHeight());
batch.end();
}
I figured it out. All I had to do was begin another batch after I inserted the Filled Rectangles. This is what I did:
public void render(float delta) {
batch.begin();
batch.draw(assetsLoader.backTexture, 0, 0, screenWidth, screenHeight);
assetsLoader.shadow.draw(batch, " Touch for Sound !",
Gdx.graphics.getWidth() / 2f - 150 + 5,
200 + assetsLoader.font.getCapHeight() + 5, 400, Align.center, false);
assetsLoader.font.draw(batch, " Touch for Sound !",
Gdx.graphics.getWidth() / 2f - 150,
200 + assetsLoader.font.getCapHeight(), 400, Align.center, false);
batch.end();
shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
shapeRenderer.setColor(tankColor);
shapeRenderer.rect(tankButton.x-25, tankButton.y-25,
tankButton.width+50, tankButton.height+50);
shapeRenderer.setColor(notesColor);
shapeRenderer.rect(notesButton.x-25, notesButton.y-25,
notesButton.width+50, notesButton.height+50);
shapeRenderer.end();
batch.begin();
batch.draw(assetsLoader.tankTexture, tankButton.x, tankButton.y,
tankButton.getWidth(), tankButton.getHeight());
batch.draw(assetsLoader.notesTexture, notesButton.x, notesButton.y,
notesButton.getWidth(), notesButton.getHeight());
batch.end();