我正在尝试确定clickRectangle(一种由鼠标点击创建的矩形)是否与drawRectangle相交。
但是,如果我单击drawnRectangle中的任何位置(即矩形的内部),我不希望intersects方法返回true,如果单击了drawRectangle的外边界,我只希望它返回true。
我该怎么做?
P.S:对于clickRectangle和drawnRectangle,请参阅下面的评论。
答案 0 :(得分:1)
如果我正确理解了这个问题,你想要
public static boolean pointNearEdge(Point click, Rectangle drawnRectangle, int howNear){
Rectangle clickRect = new Rectangle(click.x-howNear, click.y-howNear, howNear*2, howNear*2);
if (drawnRectangle.contains(clickRect)) // totally inside -> false
return false;
// test if there is a partial intersection - i.e. we are near the edge
return drawnRectangle.intersects(clickRect);
}