如何在Java中触摸两个矩形时相互检测?

  if(rect3.a+30>rect2.a){


        ballright=false;
        bounce++;
    }
     if(rect3.a-30<rect1.a){

        ballright=true;
        bounce++;
    }

 public void paint(Graphics g){
    super.paint(g);
    Graphics2D g2d=(Graphics2D) g;
    g.setColor(Color.BLACK);
    g.fillRect(0, 0, 1080, 760);

    g2d.setColor(Color.WHITE);
   // g.fillOval(x, y, 30, 30);
   g2d.fillRect(rect3.a, rect3.b, 30, 30);


    g2d.setColor(Color.WHITE);
    g2d.fillRect(rect1.a, rect1.b, 30, 200);

    g2d.setColor(Color.WHITE);
    g2d.fillRect(rect2.a, rect3.b-50, 30, 200);

    g2d.fillRect(520, 0, 10, 760);

因此,我将这些矩形作为乒乓球游戏的对象。除了我似乎无法弄清楚如何使球拍(rect3)跳板(rect1,2)弹跳,如果球拍不存在,则转到窗口边缘得分。我现在有办法简单地将整个y轴在0和1080处反弹。是否有一种方法可以使它仅在桨存在并且不得分的情况下反弹?

评论
24K天然
24K天然

您仅在检查ball.x + ball.width> paddle.x 您还应该考虑到ball.y位于paddle.y和paddle.y + paddle.height之间的情况

点赞
评论