检查矩形重叠
问题描述:
你好:)我目前工作的东西,对BlueJ的检查两个矩形的重叠在Java的铰链,我一直在检查卡住小时任何互联网帮助,但我还没有设法找到任何有助于我所处理的事情的具体情况。检查矩形重叠
目前,我正在写一个名为“checkOverLap”的方法,它看起来有点像这样:
private Boolean checkOverlap() {
if (word2.getXPosition() >= word1.getXPosition() && word2.getXPosition() <= word1.getXPosition() + word1.getTextWidth() && (word2.getYPosition() >= word1.getYPosition() && word2.getYPosition() <= word1.getYPosition() + word1.getTextHeight())){
return true;
}
else{
return false;
}
}
呃,我是比较新的Java,所以请原谅这是怎么窘况格式> >
什么需要做的一般要点,是当矩形重叠:)否则返回true,它会返回false。这是必需的原因,因为我想要矩形随机化他们在屏幕上的位置,直到它们重叠。
我已经包括存取方法,返回矩形的X和Y坐标,宽度和高度,而这些都是我使用if语句什么来比较,看看他们在腿上。
至于它有什么问题,我目前还不确定,但我认为这是与语句的逻辑有关,就像我没有比较正确的变量等,或者我添加了错误的运算符:/
任何意见或此类将不胜感激:)
答
你不必自己动手。使用java.awt.Rectangle
的交叉点方法代替:
final Rectangle r1 = new Rectangle(50, 50, 10, 10);
final Rectangle r2 = new Rectangle(40, 40, 10, 10);
final Rectangle r3 = new Rectangle(40, 40, 15, 15);
System.out.println(r2.intersects(r1)); // false
System.out.println(r3.intersects(r1)); // true
checkin每个班级的网页dnt伤害 – gpasch