我目前有一个绘制重叠矩形的程序,并想知道是否有一种简单的方法来确定哪个形状在顶部(最明显)。这让我很难过,因为在处理3D时没有像z轴那样使用。
我尝试循环遍历矩形并使用.contains方法但它返回特定点下的所有矩形而不是最高级别的矩形。
我也在搜索过,但也许我使用了错误的关键字?
答案 0 :(得分:5)
通常当人们绘画代码时,他们会做类似的事情:
列出rectangles = ....
for (int i = 0; i < rectangles.size(); i++)
//paint the rectangle
因此,如果您想搜索Point以确定它所处的Rectanle,那么您应该使用:
for (int i = rectangles.size() - 1; i >= 0; i--)
{
if (rectangles.get(i).contains(yourPoint))
{
// do something
break;
}
}
从最后开始,将为您绘制最后一个矩形,这意味着它位于所有其他矩形的顶部。