Java / JavaFX – Berechnung von Kollisionen zwischen zwei 2D-Objekten

Hallo Community,
wer schon mal ein kleines Spielchen entwickelt hat, ist mit Sicherheit auf das Thema Kollision getroffen.
Diese Berechnung ist nicht unbedingt einfach.

Also hier ein kleines Beispiel mit zwei FX ImageViews.
Diese können einfach durch andere Elemente ausgetauscht werden.

   private boolean checkCollision(ImageView one, ImageView two)
   {
      Bounds oneLb = one.getLayoutBounds();
      Bounds twoLb = two.getLayoutBounds();

      // Bild2 liegt rechts von Bild1
      if( (oneLb.getMinX() + oneLb.getWidth()) <= twoLb.getMinX() )
      {
         return false;
      }

      // Bild2 liegt unter den Bild1
      if( (oneLb.getMinY() + oneLb.getHeight()) <= twoLb.getMinY() )
      {
         return false;
      }

      // Bild2 liegt links von Bild1
      if( (twoLb.getMinX() + twoLb.getWidth()) <= oneLb.getMinX() )
      {
         return false;
      }

      // Bild2 liegt über den Bild3
      if( (twoLb.getMinY() + twoLb.getHeight()) <= oneLb.getMinY() )
      {
         return false;
      }

      // wenn man hier angekommen ist, dann kollidieren die BBoxen
      return true;
   }

Leave a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.