我目前有一个绘制重叠矩形的程序,并且想知道是否有一种简单的方法可以确定哪个形状在顶部(最明显)。这让我很困惑,因为在处理 3D 时没有 z 轴可以使用。
我尝试遍历矩形并使用 .contains 方法,但它返回特定点下的所有矩形,而不是最高级别的矩形。
我也搜索过,但也许我使用了错误的关键字?
我目前有一个绘制重叠矩形的程序,并且想知道是否有一种简单的方法可以确定哪个形状在顶部(最明显)。这让我很困惑,因为在处理 3D 时没有 z 轴可以使用。
我尝试遍历矩形并使用 .contains 方法,但它返回特定点下的所有矩形,而不是最高级别的矩形。
我也搜索过,但也许我使用了错误的关键字?
通常,当人们绘制代码时,他们会执行以下操作:
列出矩形 = ....
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;
}
}
从最后开始将为您提供最后绘制的矩形,这意味着它位于所有其他矩形之上。