0

ユーザーがボックスを移動できる 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);
4

1 に答える 1