В настоящее время я использую вложенные циклы for, чтобы увидеть, пересекались ли два прямоугольника или нет.
for(int i = 0; i < enemies.size(); i++) {
for(int j = 0; j < enemies.size(); j++) {
if(!enemies.get(i).pureHitbox.intersects(enemies.get(j).pureHitbox) && i != j) {
enemies.get(i).action();
}
}
}
Проблема заключается в том, что действие, выполняемое объектами, увеличивается по частоте на количество объектов в ArrayList.Текущее действие - переместить 3 в любом направлении, но если в ArrayList есть 2, он переместится на 6, если будет 3, переместится на 9 и т. Д.
Я не могу думать ни о какомспособ сделать эту работу эффективно.