到目前为止,我有这个 if 逻辑
if (d.intersects(r1) && en.visible == true && en.isAlive == false)
{
hit = 25;
// System.out.println(enemy_count);
hitmang(hit);
}
if (d.intersects(r2) && en2.visible == true && en2.isAlive == false)
{
hit = 25;
hitmang(hit);
// System.out.println(enemy_count);
}
用这个方法
private void hitmang(int x) {
p.user_hp = p.user_hp - x;
}
这些都是我的敌人
en = new Enemy(700, 150);
en2 = new Enemy (980, 150);
我想这样当我击中敌人时它只会从我身上减去 25 hp,但由于敌人的面积很大(113、134)它会减去 25,直到我离开那个范围使我的 hp ~-6000(显然是一个问题),有没有办法让它只减去一次。