Changed scale in HUD to relate better to game scale
[interactive-pacbot.git] / game / entities / hud.js
1 'use strict';
2
3 var Hud = function(game, player, x, y, scorefontKey, keyboardSpriteKey) {
4   Phaser.Group.call(this, game);
5   this.x = x;
6   this.y = y;
7   this.player = player;
8   this.scale = {x: 0.01, y: 0.01};
9
10   this.background = new Phaser.Sprite(this.game, 0, 0, 'hud-bg');
11   this.add(this.background);
12   this.scoreText = new Phaser.BitmapText(this.game, 344, 20, scorefontKey, '0', 200);
13   this.add(this.scoreText);
14
15   this.poisonIndicator = new Phaser.Sprite(this.game, 400, 300, 'poison-pill');
16   this.poisonIndicator.scale = {x: 2, y: 2}; //bigger than an actual poison pill
17   this.poisonIndicator.anchor = {x: 0.5, y: 0.5};
18   this.add(this.poisonIndicator);
19
20   this.controllerDiagram = new Phaser.Sprite(this.game, 0, 600, 'controller-diagram');
21   this.add(this.controllerDiagram);
22
23   this.keyboardControls = new Phaser.Sprite(this.game, 0, 1200, keyboardSpriteKey);
24   this.add(this.keyboardControls);
25
26   this.currentScore = 0;
27 };
28
29 Hud.prototype = Object.create(Phaser.Group.prototype);
30 Hud.prototype.constructor = Hud;
31
32 Hud.prototype.update = function() {
33   if (this.currentScore !== this.player.score) {
34     this.currentScore = this.player.score;
35     this.scoreText.setText(this.player.score+'');
36
37     var numberOfDigits = Math.floor(Math.log(this.currentScore)/Math.log(10))+1;
38     this.scoreText.x = 400 - numberOfDigits*60;
39   }
40
41   if (this.poisonIndicator && !this.player.hasPoisonPill) {
42     this.poisonIndicator.destroy();
43     this.poisonIndicator = null;
44   }
45 };
46
47 module.exports = Hud;