0

我目前有一个绘制重叠矩形的程序,并且想知道是否有一种简单的方法可以确定哪个形状在顶部(最明显)。这让我很困惑,因为在处理 3D 时没有 z 轴可以使用。

重叠的矩形

我尝试遍历矩形并使用 .contains 方法,但它返回特定点下的所有矩形,而不是最高级别的矩形。

我也搜索过,但也许我使用了错误的关键字?

4

1 回答 1

4

通常,当人们绘制代码时,他们会执行以下操作:

列出矩形 = ....

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;
    }
}

从最后开始将为您提供最后绘制的矩形,这意味着它位于所有其他矩形之上。

于 2013-03-25T03:44:48.880 回答