У меня есть класс под названием «Обработчик», который полон геттеров и сеттеров и включает в себя код, который добавляет и удаляет объект, он выглядит так:
public void addObject (GameObject object) {
this.object.add(object);
}
public void removeObject (GameObject object) {
this.object.remove(object);
}
(GameObject - это класс)
В «Обработчике» я создаю объекты:
if(red==255 && green==255 && blue==255) addObject(new Block(xx*32,yy*24,0, ObjectId.Block));
if(red==128 && green==128 && blue==128) addObject(new Block(xx*32,yy*24,1, ObjectId.Block));
if(red==0 && green==0 && blue==255) addObject(new Player(xx*32,yy*32,this, cam, ObjectId.Player));
if(red==255 && green==216 && blue==0) addObject(new Flag(xx*32,yy*32,ObjectId.Flag));
if(red==255 && green==0 && blue==0) addObject(new Enemy(xx*32,yy*32,ObjectId.Enemy));
У каждого объекта есть свой класс, и я хочу удалить врага, когда пуля (у него тоже есть свой класс) коснется его. Поэтому я поместил в класс «Пуля» этот код:
public void tick(LinkedList<GameObject> object) {
x+=VelX;
Collision(object);
}
private void Collision(LinkedList<GameObject> objects){
for (int i=0;i<handler.object.size();i++ ){
GameObject tempObject= handler.object.get(i);
if(tempObject.getId()==ObjectId.Enemy){
}
}
}
Но я просто не понимаю, что мне вставлять в последнюю очередь, если.
Я уже пробовал использовать:
handler.removeObject(Enemy);
но без результата