我正在制作乒乓球,并且当球击到球拍时我已经将球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)
有一种情况是你的球将"进入"桨,碰撞将使其反转.在下一个循环中,当它仍然在桨内时,它将再次反转.这种模式永远持续下去,你的球会卡住.
要解决此问题,您需要"追踪"球路径并在撞击墙壁之前检测碰撞.通过这种方式,您可以使球的下一步到达球拍表面的必要量.