/** Initializes the screen. */ public void initScreen() { gameScreen.createBlackBackground(); Label highscoreTitleLabel = new Label( gameScreen, "Highscore Level " + currentHighscoreLevel, 500, 70, GameScreen.FONT_XL); highscoreTitleLabel.setTextColor(new Color(255, 205, 205)); highscoreTitleLabel.setBackgroundColor(Color.BLACK); gameScreen.addObject(highscoreTitleLabel, GameScreen.WIDTH_IN_CELLS / 2, 1); arrowRightButton = new Button(gameScreen, 26, 27, WorldImages.ICON_ARROW_RIGHT); arrowRightButton.setBackgroundColor(Color.BLACK); arrowRightButton.setBorderColor(Color.RED); arrowRightButton.setInset(0); arrowRightButton.setAlign(Label.ALIGN_LEFT); arrowRightButton.setBackgroundColor(new Color(255, 205, 205)); gameScreen.addObject(arrowRightButton, GameScreen.WIDTH_IN_CELLS / 2 + 6, 1); arrowLeftButton = new Button(gameScreen, 26, 27, WorldImages.ICON_ARROW_LEFT); arrowLeftButton.setBackgroundColor(Color.BLACK); arrowLeftButton.setBorderColor(Color.RED); arrowLeftButton.setInset(0); arrowLeftButton.setAlign(Label.ALIGN_LEFT); arrowLeftButton.setBackgroundColor(new Color(255, 205, 205)); gameScreen.addObject(arrowLeftButton, GameScreen.WIDTH_IN_CELLS / 2 - 6, 1); backToMenuButton = new Button(gameScreen, "Main Menu", 130, 30, GameScreen.FONT_M); backToMenuButton.setBorderColor(Color.RED); backToMenuButton.setIcon(WorldImages.ICON_HOME); backToMenuButton.setBackgroundColor(new Color(255, 205, 205)); gameScreen.addObject(backToMenuButton, GameScreen.WIDTH_IN_CELLS / 2, 16); BufferedImage levelImg = gameScreen.getLevel(currentHighscoreLevel).toImage(KaraWorld.CELL_SIZE); int width = 420; int height = 360; levelImg = GGImage.scale(levelImg, width, height); Label highscoreLevelLabel = new Label(gameScreen, width, height, levelImg); highscoreLevelLabel.setBorderColor(null); highscoreLevelLabel.setBackgroundColor(Color.BLACK); gameScreen.addObject( highscoreLevelLabel, GameScreen.WIDTH_IN_CELLS / 2, GameScreen.HEIGHT_IN_CELLS / 2); if (gameScreen.isHighscoreAvailable()) { // Get the highscore entries Highscore highscore = gameScreen.getHighscoreForLevel(currentHighscoreLevel); String first = highscore.getFirstEntry().toString(); String second = highscore.getSecondEntry().toString(); String third = highscore.getThirdEntry().toString(); Label highscoreGoldLabel = new Label(gameScreen, first, 400, 40, GameScreen.FONT_L); highscoreGoldLabel.setTextColor(new Color(255, 205, 205)); highscoreGoldLabel.setBackgroundColor(Color.BLACK); highscoreGoldLabel.setBackgroundTransparency(150); highscoreGoldLabel.setBorderColor(null); highscoreGoldLabel.setIcon(WorldImages.ICON_GOLD); gameScreen.addObject(highscoreGoldLabel, GameScreen.WIDTH_IN_CELLS / 2, 10); Label highscoreSilverLabel = new Label(gameScreen, second, 400, 40, GameScreen.FONT_L); highscoreSilverLabel.setTextColor(new Color(255, 205, 205)); highscoreSilverLabel.setBackgroundColor(Color.BLACK); highscoreSilverLabel.setBackgroundTransparency(150); highscoreSilverLabel.setBorderColor(null); highscoreSilverLabel.setIcon(WorldImages.ICON_SILVER); gameScreen.addObject(highscoreSilverLabel, GameScreen.WIDTH_IN_CELLS / 2, 12); Label highscoreBronzeLabel = new Label(gameScreen, third, 400, 40, GameScreen.FONT_L); highscoreBronzeLabel.setTextColor(new Color(255, 205, 205)); highscoreBronzeLabel.setBackgroundColor(Color.BLACK); highscoreBronzeLabel.setBackgroundTransparency(150); highscoreBronzeLabel.setBorderColor(null); highscoreBronzeLabel.setIcon(WorldImages.ICON_BRONZE); gameScreen.addObject(highscoreBronzeLabel, GameScreen.WIDTH_IN_CELLS / 2, 14); } else { // Highscore is not available --> give a hint to the user Label highscoreNa1 = new Label(gameScreen, "Highscore is not available!", 400, 40, GameScreen.FONT_XL); highscoreNa1.setTextColor(new Color(255, 205, 205)); highscoreNa1.setBackgroundColor(Color.BLACK); highscoreNa1.setBackgroundTransparency(150); highscoreNa1.setBorderColor(null); gameScreen.addObject(highscoreNa1, GameScreen.WIDTH_IN_CELLS / 2, 13); } }