在我正在创建的游戏中,我只希望僵尸能够每分钟击中玩家 2 次,而不是拿走洞的健康栏,因为它会损害玩家的速度。
public void checkCollision(){
Rectangle r3 = player.getBounds();
for(int i = 0; i < zombie.size(); i++){
Zombie z = (Zombie) zombie.get(i);
Rectangle r2 = z.getBounds();
if(r3.intersects(r2)){
if(!player.getInvincibility()){
player.setHealth(player.getHealth() - 10);
player.setInvincibility(true);
}
}
}
}
这是检查玩家和僵尸碰撞的代码。我已经做到了,玩家只受到 10 点伤害,但玩家将永远无法再次受到伤害。我尝试使用 if 语句来检查玩家是否无敌,并且 if 语句中有一个 for 循环,当 int 达到 30 000 时会使玩家死亡,但僵尸仍然会如此快速地伤害玩家,以至于洞健康酒吧盖茨被带走。