为相位器3中的组的每个子画面设置hp bar的问题

时间:2018-08-13 06:42:05

标签: javascript phaser-framework

我停留了一段时间的代码,我不明白它是什么问题,所以这里是:

我正在尝试为属于组(spritesGroup)的sprite制作hp bar,并且当其中一个sprite被射击时更新hp bar。

当myGroup的一个精灵被枪杀时调用(我将我的精灵组的name属性用作其中每个精灵的hp):

//name is the hp of the sprites
//full name is 100
mySprites.name -= 25
updateOrCreateHp(this)

我在create()函数中一次调用updateOrCreateHp()为我的每个精灵(位于spritesGroup中)以及每次射击其中一个精灵创建一个hp条(以更新该sprite的hp条) ):

function updateOrCreateHp(that){
   if(this.hpBar){this.hpBar.clear()}

//group of my sprites
spritesGroup.getChildren().forEach(function (child) {
this.hpBar = that.add.graphics();
this.hpBar.fillStyle(0xffffff);
this.hpBar.fillRect(child.x, child.y, child.name, 3);


if(child.name <= 0){
  console.log('destroy it')
  this.hpBar.destroy()
}else{}

});
}

问题是:当hpBar为<= 0时,经过4次射击它不会销毁(但是我得到销毁日志)

我什至不确定它是来自相位器还是Java脚本。我尝试了一切清除... setVisible(false)...

0 个答案:

没有答案