我正在尝试编写一个允许用户移动框的 GUI。屏幕上还有另一个框,称为“块”,不允许该框相交。我的盒子移动得很好,但我不知道如何阻止两者相交并将盒子的绘图保持在屏幕上。现在,当它碰到方块时,盒子就会消失(我知道它为什么会这样做,我只是不知道如何修复它)。
X 和 Y 是鼠标左右键检测到的移动。
box = new Rectangle2D.Double(0 + X, 0 + Y, 200, 50);
block = new Rectangle2D.Double(300, 300, 50, 50);
if (box.intersects(block)) {
hit = true;
} else {
hit = false;
}
Graphics2D g2 = (Graphics2D) g;
g2.setPaint(Color.red);
g2.draw(block);
if (model.hit()) {
g2.setPaint(Color.black);
g2.drawString("WHOA THERE", 20, 50);
} else {
g2.setPaint(Color.blue);
g2.fill(box);