我正在进行塔防项目,但遇到了一个小问题。
public void loseHealth(int amo) {
health -= amo;
checkDeath();
}
public void checkDeath() {
if(health == 0) {
deleteMob();
}
}
这可行,但是当我尝试以下操作时,生命值达到零,并且暴民不会被删除。我一直在努力使其工作约2天,但似乎无法正确处理。我一直未能找到可以帮助您阅读的内容,但我可能找不到合适的位置。
public void loseHealth(int amo) {
shot = Value.damage[0] += amo;
health -= shot;
checkDeath();
}
public void checkDeath() {
if(health == 0) {
deleteMob();
}
}
我声明了一个数组,它包含:
public static int[] damage = {5, 10};
我在这里拥有两座塔的原因是因为我有两座塔试图造成不同的伤害。现在,我只想让它正常工作,就可以为不同的塔架做零件。如果您需要更多信息,请告诉我。
最佳答案
那是因为您的health
变量越来越少到0以下。因此,health == 0
将始终返回false
。请尝试以下操作:
public void checkDeath() {
if(health <= 0) {
deleteMob();
}
}
关于java - checkDeath()没有被调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23187166/