以下の Collision メソッドに問題があります。問題は、ゲームに 2 人の敵がいる場合です。ループ内で 1 つの敵と交差し、衝突の場合は true を返します。しかし、この配列 List 内に 2 番目の敵がいる場合、その 2 番目のオブジェクトとは衝突しないため、false が返され、プレイヤーは歩き続けます。彼がすべての敵と接触していないためにただ続けるのではなく、彼がいずれかの敵と接触しているときに彼を止める方法について何か考えはありますか? ありがとう、これがコードです。
public void checkCollision(){
ArrayList<Enemy> enemy = c.getEnemyList();
for ( int i = 0; i < enemy.size(); i++){
Enemy e = enemy.get(i);
if (!getBounds().intersects(e.getBounds())){
walk();
return;
}
if (getBounds().intersects(e.getBounds())){
if (e.getHP() <= 0){
c.removeEnemy(e);
walk();
return;
}
fight();
if (count == 25 || count == 65){
int dd = DCalc.calcDmg(atk, atkMAX);
e.dmg(dd);
}
}
}
}