java 如何检测存储在数组 Java 中的形状的碰撞

How can java detect collision of shapes that are stored in an array Java

所以我想做的是让用户能够绘制矩形并检测矩形之间的碰撞。

矩形被添加到 Array_List 形状中:

ArrayList<Shape> shapes = new ArrayList<Shape>();

并且对于碰撞 java 必须通过 ArrayList 来检测形状的碰撞。 (任何其他检测碰撞的方法都可以)。 我知道 java 有一个用于形状的“.intersects()”方法,但这里更多的是关于许多形状,我不知道如何在这里使用它。

这是我迄今为止为碰撞所做的工作的一个小开端,我准备坚持下去。请帮帮忙?

if (currentAction == 4) {

// Create a new rectangle using x & y coordinates 

aShape = drawRectangle(drawStart.x, drawStart.y,
 e.getX(), e.getY());

//aShape added to the arraylist shapes
 shapes.add(aShape);                                                             

 for(int i=0;i<shapes.size();i++){                            
Shape s = shapes.get(i);

  //collision detection                                 

 }
  }                                 

我会给你提示 - 尝试阅读动态规划并尝试将碰撞分解为水平发生的碰撞和垂直发生的碰撞。

希望对您有所帮助...