У меня проблема с проверкой столкновения с 2 arraylist, что обновление в методе run(). вот мой код в методе run():Два метода ArrayList в 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");
}}}
У меня возникла ошибка, когда объект противника удален (из экрана). как я могу это решить? спасибо
«У меня ошибка» - Ладно, какая ошибка? –
Я получил это сообщение: Исключение в потоке «Thread-3» java.lang.NullPointerException – Nizarhdt
Трассировка стека исключений должна показать, какая строка кода вызвала NPE. Укажите, какая строка кода в вашем опубликованном коде вызвала исключение. Кроме того, что такое 'r' в методе' checkCollision'? –