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处反弹。是否有一种方法可以使它仅在桨存在并且不得分的情况下反弹?
您仅在检查ball.x + ball.width> paddle.x 您还应该考虑到ball.y位于paddle.y和paddle.y + paddle.height之间的情况