我正在打乒乓球,我将球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;
}
最佳答案
在某些情况下,您的球会“进入”球拍,而碰撞会使球反转。在下一个循环中,当它仍然位于桨中时,它将再次反转。这种模式将永远持续下去,您的球将被卡住。
为了解决这个问题,您需要在跟踪墙壁之前“追踪”球的路径并检测碰撞。这样,您就可以使球的下一步成为到达球拍表面所需的量。