【发布时间】:2015-03-03 18:11:11
【问题描述】:
所以我想做的是让用户能够绘制矩形并检测矩形之间的碰撞。
矩形被添加到一个 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
}
}
【问题讨论】:
-
有多种方法可以确定两个形状是否发生碰撞,具体取决于您的需要。看看this example 一个。
-
@MadProgrammer 在您的示例中,已经定义了两个矩形。需要检测我将绘制的矩形之间的冲突。
-
@MadProgrammer 我只想让程序遍历数组,读取形状的坐标,比较它们并找出碰撞的形状。你能帮忙吗?
-
比较两个
Shapes 的基本原则没有改变。您只需要确定如何循环遍历其中的List并进行比较。提示,您可能需要一个复合循环... -
谢谢@MadProgrammer 我已经成功了!! :D
标签: java arraylist collision-detection collision shape