Hi,
ich bin gerade dabei eine Art rendering order für mein isometrisches Spielfeld zu erstellen. Dazu habe ich mir die ArrayList mit allen GameObjekten genommen und diese dann mit Collections.sort versucht zu sortieren. Allerdings klappt das nicht so ganz, denn mein Comparator liefert die falschen Werte. Ich versuche Punkte zu vergleichen bzw. bounding Boxen. Hier mal der Code:
Die GameObjekte haben unterschiedliche Größen so ist ein Gebäude z.B. 120x60 groß während ein Baum 40X40 groß ist.
Ich hoffe jemand kann mir da helfen.
MfG
Eichelhäer
ich bin gerade dabei eine Art rendering order für mein isometrisches Spielfeld zu erstellen. Dazu habe ich mir die ArrayList mit allen GameObjekten genommen und diese dann mit Collections.sort versucht zu sortieren. Allerdings klappt das nicht so ganz, denn mein Comparator liefert die falschen Werte. Ich versuche Punkte zu vergleichen bzw. bounding Boxen. Hier mal der Code:
Java:
Collections.sort(gameObjects, new Comparator<>() {
@Override
public int compare(GameObject o1, GameObject o2) {
// Wenn y gleich ist dann vergleiche die x position
if(o1.boundingBox.getBounds().y == o2.boundingBox.getBounds().getY()) {
return Double.compare(o1.boundingBox.getBounds().getX(),o2.boundingBox.getBounds().getX());
}
// sonst vergleiche mimmer die y position
return Double.compare(o1.boundingBox.getBounds().getY(),o2.boundingBox.getBounds().getY());
}
});
Die GameObjekte haben unterschiedliche Größen so ist ein Gebäude z.B. 120x60 groß während ein Baum 40X40 groß ist.
Ich hoffe jemand kann mir da helfen.
MfG
Eichelhäer