ユーザーがボックスを移動できる GUI をコーディングしようとしています。画面には、ボックスが交差することを許可されていない「ブロック」と呼ばれる別のボックスもあります。ボックスは正常に動いていますが、2 つのボックスが交差するのを止めて、画面上にボックスの描画を維持する方法がわかりません。現時点では、ブロックに当たるとボックスが消えます (なぜそうなっているのかはわかっていますが、修正方法はわかりません)。
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);