2016-11-13 83 views
-2

你好:)我目前工作的东西,对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语句什么来比较,看看他们在腿上。

至于它有什么问题,我目前还不确定,但我认为这是与语句的逻辑有关,就像我没有比较正确的变量等,或者我添加了错误的运算符:/

任何意见或此类将不胜感激:)

+0

checkin每个班级的网页dnt伤害 – gpasch

回答

1

你不必自己动手。使用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