summaryrefslogtreecommitdiff
path: root/game/entities/hud.js
diff options
context:
space:
mode:
Diffstat (limited to 'game/entities/hud.js')
-rw-r--r--game/entities/hud.js50
1 files changed, 50 insertions, 0 deletions
diff --git a/game/entities/hud.js b/game/entities/hud.js
new file mode 100644
index 0000000..a7b39a0
--- /dev/null
+++ b/game/entities/hud.js
@@ -0,0 +1,50 @@
+'use strict';
+
+var Hud = function(game, player, x, y, scorefontKey, keyboardSpriteKey) {
+ Phaser.Group.call(this, game);
+ this.x = x;
+ this.y = y;
+ this.player = player;
+ this.scale = {x: 0.02, y: 0.02};
+
+
+ this.background = new Phaser.Sprite(this.game, 0, 0, 'hud-bg');
+ this.add(this.background);
+ this.scoreText = new Phaser.BitmapText(this.game, 172, 10, scorefontKey, '0', 100);
+ this.add(this.scoreText);
+
+ this.poisonIndicator = new Phaser.Sprite(this.game, 200, 150, 'poison-pill');
+ //this.poisonIndicator.scale = {0.1, 0.1};
+ this.poisonIndicator.anchor = {x:0.5, y:0.5};
+ this.add(this.poisonIndicator);
+
+ this.controllerDiagram = new Phaser.Sprite(this.game, 0, 300, 'controller-diagram');
+ this.controllerDiagram.scale = {x: 0.5, y: 0.5};
+ this.add(this.controllerDiagram);
+
+ this.keyboardControls = new Phaser.Sprite(this.game, 0, 600, keyboardSpriteKey);
+ this.keyboardControls.scale = {x: 0.5, y: 0.5};
+ this.add(this.keyboardControls);
+
+ this.currentScore = 0;
+};
+
+Hud.prototype = Object.create(Phaser.Group.prototype);
+Hud.prototype.constructor = Hud;
+
+Hud.prototype.update = function() {
+ if (this.currentScore !== this.player.score) {
+ this.currentScore = this.player.score;
+ this.scoreText.setText(this.player.score+'');
+
+ var numberOfDigits = Math.floor(Math.log(this.currentScore)/Math.log(10))+1;
+ this.scoreText.x = 200 - numberOfDigits*30;
+ }
+
+ if (this.poisonIndicator && !this.player.hasPoisonPill) {
+ this.poisonIndicator.destroy();
+ this.poisonIndicator = null;
+ }
+};
+
+module.exports = Hud;