numbers display and they go down
This commit is contained in:
parent
7b3000256e
commit
586864c9e3
50
src/game.js
50
src/game.js
|
@ -15,12 +15,19 @@ game.state.add('play', {
|
||||||
game.load.image('bg:talltrees', 'assets/bg/talltrees.png');
|
game.load.image('bg:talltrees', 'assets/bg/talltrees.png');
|
||||||
|
|
||||||
alienData = [
|
alienData = [
|
||||||
{name: 'Pink', image: 'alien:pink'},
|
{name: 'Pink', image: 'alien:pink', maxHealth: 20 },
|
||||||
{name: 'Green', image: 'alien:green'},
|
{name: 'Green', image: 'alien:green', maxHealth: 25 },
|
||||||
{name: 'Grey', image: 'alien:grey'},
|
{name: 'Grey', image: 'alien:grey', maxHealth: 10 },
|
||||||
{name: 'Blue', image: 'alien:blue'}
|
{name: 'Blue', image: 'alien:blue', maxHealth: 33 }
|
||||||
];
|
];
|
||||||
|
|
||||||
|
this.player = {
|
||||||
|
clickDmg: 1,
|
||||||
|
gold: 0
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
create: function(){
|
create: function(){
|
||||||
var state = this;
|
var state = this;
|
||||||
|
@ -30,8 +37,8 @@ game.state.add('play', {
|
||||||
state.game.world.height, 'bg:castle', '', state.background);
|
state.game.world.height, 'bg:castle', '', state.background);
|
||||||
bg.tileScale.setTo(0.5, 0.5);
|
bg.tileScale.setTo(0.5, 0.5);
|
||||||
|
|
||||||
|
// Alien Group
|
||||||
this.aliens = this.game.add.group();
|
this.aliens = this.game.add.group();
|
||||||
|
|
||||||
var alien;
|
var alien;
|
||||||
alienData.forEach(function(data){
|
alienData.forEach(function(data){
|
||||||
alien = state.aliens.create(1000, state.game.world.centerY, data.image);
|
alien = state.aliens.create(1000, state.game.world.centerY, data.image);
|
||||||
|
@ -42,10 +49,30 @@ game.state.add('play', {
|
||||||
alien.inputEnabled = true;
|
alien.inputEnabled = true;
|
||||||
alien.events.onInputDown.add(state.onClickAlien, state);
|
alien.events.onInputDown.add(state.onClickAlien, state);
|
||||||
|
|
||||||
|
alien.health = alien.maxHealth = data.maxHealth;
|
||||||
|
|
||||||
|
alien.events.onKilled.add(state.onKilledAlien, state);
|
||||||
|
alien.events.onRevived.add(state.onRevivedAlien, state);
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
// Current Alien
|
||||||
this.currentAlien = this.aliens.getRandom();
|
this.currentAlien = this.aliens.getRandom();
|
||||||
this.currentAlien.position.set(this.game.world.centerX + 100, this.game.world.centerY);
|
this.currentAlien.position.set(this.game.world.centerX + 100, this.game.world.centerY);
|
||||||
|
|
||||||
|
// UI
|
||||||
|
this.alienInfoUI = this.game.add.group();
|
||||||
|
this.alienInfoUI.position.setTo(this.currentAlien.x - 220, this.currentAlien.y + 120);
|
||||||
|
this.alienNameText = this.alienInfoUI.addChild(this.game.add.text(0, 0, this.currentAlien.details.name, {
|
||||||
|
font: '48px Arial Black',
|
||||||
|
fill: '#fff',
|
||||||
|
strokeThickness: 4
|
||||||
|
}));
|
||||||
|
this.alienHealthText = this.alienInfoUI.addChild(this.game.add.text(0, 80, this.currentAlien.health + ' HP', {
|
||||||
|
font: '32px Arial Black',
|
||||||
|
fill: '#ff0000',
|
||||||
|
strokeThickness: 4
|
||||||
|
}));
|
||||||
|
|
||||||
},
|
},
|
||||||
render: function(){
|
render: function(){
|
||||||
|
@ -56,9 +83,20 @@ game.state.add('play', {
|
||||||
|
|
||||||
},
|
},
|
||||||
onClickAlien: function(){
|
onClickAlien: function(){
|
||||||
this.currentAlien.position.set(1000, this.game.world.centerY);
|
|
||||||
|
this.currentAlien.damage(this.player.clickDmg);
|
||||||
|
this.alienHealthText.text = this.currentAlien.alive ? this.currentAlien.health + " HP" : "DEAD";
|
||||||
|
},
|
||||||
|
onKilledAlien: function(alien){
|
||||||
|
alien.position.set(1000, this.game.world.centerY);
|
||||||
this.currentAlien = this.aliens.getRandom();
|
this.currentAlien = this.aliens.getRandom();
|
||||||
|
this.currentAlien.revive(this.currentAlien.maxHealth);
|
||||||
|
},
|
||||||
|
onRevivedAlien: function(alien){
|
||||||
this.currentAlien.position.set(this.game.world.centerX + 100, this.game.world.centerY);
|
this.currentAlien.position.set(this.game.world.centerX + 100, this.game.world.centerY);
|
||||||
|
this.alienNameText.text = alien.details.name;
|
||||||
|
this.alienHealthText.text = alien.health + " HP";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user