我在检查与 run() 方法中更新的 2 个数组列表的冲突时遇到问题。这是我在 run() 方法中的代码:
ArrayList enemy = addenemy.getEnemy();
for (int i = 0; i < enemy.size(); i++) {
Enemy p = (Enemy) enemy.get(i);
if (p.isVisible() == true) {
p.update();
} else {
enemy.remove(i);
}}
ArrayList bullets = CharS.getBullets();
for (int i = 0; i < bullets.size(); i++) {
Bullets p = (Bullets) bullets.get(i);
if (p.isVisible() == true) {
p.update();
} else {
bullets.remove(i);
}}
这是我在子弹类中的碰撞代码。
private void checkCollision() {
ArrayList enemy = Game.getEnemy();
for (int i = 0; i < enemy.size(); i++) {
Enemy e = (Enemy) enemy.get(i);
if(r.intersects(e.r)){
visible = false;
System.out.println("SHOTED");
}}}
当敌人物体被移除(屏幕外)时出现错误。我该如何解决这个问题?谢谢