diff --git a/game/src/hud.js b/game/src/hud.js index 5b3d2bb..d389e91 100644 --- a/game/src/hud.js +++ b/game/src/hud.js @@ -1,8 +1,11 @@ var score = 0; var scoreText; +var highScoreText2; +var highScore = 0; +var hudTexture; var createHud = function() { - var hudTexture = BABYLON.GUI.AdvancedDynamicTexture.CreateFullscreenUI("UI"); + hudTexture = BABYLON.GUI.AdvancedDynamicTexture.CreateFullscreenUI("UI"); // Create a Text Block that can display the current score scoreText = new BABYLON.GUI.TextBlock(); @@ -14,19 +17,38 @@ var createHud = function() { scoreText.width = .5; scoreText.height = .15; + // Create a High Score Text Block + highScoreText2 = new BABYLON.GUI.TextBlock(); + highScoreText2.fontFamily = "Helvetica, sans-serif"; + highScoreText2.color = "white"; + highScoreText2.fontSize = 48; + highScoreText2.verticalAlignment = BABYLON.GUI.TextBlock.VERTICAL_ALIGNMENT_TOP; + highScoreText2.horizontalAlignment = BABYLON.GUI.TextBlock.HORIZONTAL_ALIGNMENT_LEFT; + highScoreText2.width = .5; + highScoreText2.height = .15; + updateScoreText(); hudTexture.addControl(scoreText); + hudTexture.addControl(highScoreText2); + } var updateScoreText = function() { scoreText.text = "Score: " + score; + if(score > highScore){ + highScore = score; + highScoreText2.text = "High Score: " + highScore; + } + + } var resetScore = function() { console.log("Score reset at: " + score); score = 0; updateScoreText(); + hudTexture.removeControl(highScoreText2); } var addScore = function(points) { diff --git a/game/src/mainmenu.js b/game/src/mainmenu.js index e66874f..e7f02fa 100644 --- a/game/src/mainmenu.js +++ b/game/src/mainmenu.js @@ -119,10 +119,21 @@ class MainMenu extends GameObject { this.instructionsText.horizontalAlignment = BABYLON.GUI.TextBlock.HORIZONTAL_ALIGNMENT_CENTER; this.instructionsText.width = .5; this.instructionsText.height = .9; + + this.highScoreText = new BABYLON.GUI.TextBlock(); + this.highScoreText.text = highScore; + this.highScoreText.fontFamily = "Impact"; + this.highScoreText.color = "white"; + this.highScoreText.fontSize = 28; + this.highScoreText.verticalAlignment = BABYLON.GUI.TextBlock.VERTICAL_ALIGNMENT_TOP; + this.highScoreText.horizontalAlignment = BABYLON.GUI.TextBlock.HORIZONTAL_ALIGNMENT_CENTER; + this.highScoreText.width = .5; + this.highScoreText.height = .8; this.hudTexture.addControl(this.welcomeText); this.hudTexture.addControl(this.greetingText); this.hudTexture.addControl(this.instructionsText); + this.hudTexture.addControl(this.highScoreText); } @@ -130,9 +141,10 @@ class MainMenu extends GameObject { this.hudTexture.removeControl(this.welcomeText); this.hudTexture.removeControl(this.greetingText); this.hudTexture.removeControl(this.instructionsText); + this.hudTexture.addControl(this.highScoreText); } } var mainMenu = new MainMenu(); createObject(mainMenu); -mainMenu.visible = true; \ No newline at end of file +mainMenu.visible = true;