Slick2d | Erkennung von Objektkollisionen

Das Problem:

Ich weiß, dass dies schon oft gefragt wurde, aber ich habe keine guten Antworten gefunden.
Ich habe also einige Objekte für mein Spiel. Was ist nun der beste Weg, um Kollisionen zu überprüfen?

Links:

Das Spiel (beendet)

Code Erklärung:
Ich habe eine Liste von Entitäten in meiner Weltklasse:

List<Entity> entities = new ArrayList<Entity>();
// The list in the World class

Ich aktualisiere sie mit diesem Code (nur wenn innerhalb des Sichtbereichs):

public void update(GameContainer gc, int delta) {
    for (int i = 0; i < entities.size(); i++) {
        entities.get(i).update(gc, delta);
    }
}
// Update entities

Jetzt möchte ich die Aktualisierungsmethode der Entitäten auf Kollisionen überprüfen.

Ich habe dies als meine Update-Methode versucht:

@Override
public void update(GameContainer gc, int delta) {
    for (Entity entity : world.entities) {
        if (intersects(entity)) {
           // world.remove(this);
        }
    }
}
// The update method of an entitiy

Und dies ist die aktuelle Methode für Instersekte:

public boolean intersects(Entity entity) {
    if (entity instanceof Player) {
        // Do nothing
    } else {
        if (shape != null) {
            return this.getShape().intersects(entity.getShape());
        }
    }

    return false;
}
// The intersects method of the abstract Entity class

Derzeit gibt die intersects-Methode immer true zurück. Aber warum?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage