public void drawSheepMessage(SheepMessage msg) { if (resultTime > resultFadeDelay) { resultTime = resultFadeDelay; if (!shownBottomMenu) { shownBottomMenu = true; showSheepMessageButtons(); } } // get the alpha based on the time the message has been on the screen float alpha = (resultTime / resultFadeDelay) * resultBannerAlpha; // set the alpha of the batch batch.setColor(1.0f, 1.0f, 1.0f, alpha); TextBounds tb = assetHolder.fontWhite.getMultiLineBounds(msg.msg); // draw the background for the text with some padding Texture tex = assetHolder.redTex; if (msg.color.equals("green")) tex = assetHolder.greenTex; batch.draw( tex, assetHolder.getPercentWidth(.45f) - (float) tb.width / 2.0f, assetHolder.getPercentHeight(msg.pos - .025f) - (float) tb.height / 2.0f, tb.width + assetHolder.getPercentWidth(.1f), tb.height + assetHolder.getPercentHeight(.05f)); // set the alpha of the font assetHolder.fontWhite.setColor(1, 1, 1, alpha); assetHolder.fontWhite.drawMultiLine( batch, msg.msg, assetHolder.getPercentWidth(.5f) - (float) tb.width / 2.0f, assetHolder.getPercentHeight(msg.pos) + (float) tb.height / 2.0f, tb.width, HAlignment.CENTER); }
public void render(float delta) { // do messages if (sheepGame.hasMessage()) { batch.begin(); if (resultTime < 0) resultTime = 0; resultTime += delta; drawSheepMessage(sheepGame.getMessage()); batch.end(); } stage.act(delta); stage.draw(); if (inOverlay) { batch.begin(); batch.setColor(0f, 0f, 0f, 0.75f); batch.draw( assetHolder.white, 0, 0, assetHolder.getPercentWidth(1), assetHolder.getPercentHeight(1)); batch.end(); } overlayStage.act(delta); overlayStage.draw(); }