Удаление объекта из игры на Java - PullRequest
0 голосов
/ 22 мая 2019

У меня есть класс под названием «Обработчик», который полон геттеров и сеттеров и включает в себя код, который добавляет и удаляет объект, он выглядит так:

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);

но без результата

...