Java - 乒乓球拍和球碰撞bug?

Ron*_*son 1 java swing

我正在制作乒乓球,并且当球击到球拍时我已经将球x设定为反向并且当它没有击中球拍时停止.这段代码"大部分时间"起作用,但"有时"球在没有明显原因撞击球拍时就会停止.我能得到的任何提示或提示.ps我找不到有同样问题的人

下面是代码段:

        //ball bounces on p1's paddle
    if(nextBallLeft < p1RightSide){
        if(ballY > p1Y && ballY < getHeight() - p1Y + paddleHeight){
             ballDeltaX *= -1;
        }
        else{
            System.out.println("1");
            ballDeltaX = 0;
            ballDeltaY= 0;

        }
Run Code Online (Sandbox Code Playgroud)

Mar*_*los 7

有一种情况是你的球将"进入"桨,碰撞将使其反转.在下一个循环中,当它仍然在桨内时,它将再次反转.这种模式永远持续下去,你的球会卡住.

要解决此问题,您需要"追踪"球路径并在撞击墙壁之前检测碰撞.通过这种方式,您可以使球的下一步到达球拍表面的必要量.