当我只改变球的方向时球的速度会发生变化

时间:2018-01-20 17:34:24

标签: java pong

我正在为一个项目制作乒乓球,但由于某种原因,当球从任何墙壁或球拍上反弹时,速度会发生变化。我试图让它只翻转方向。我不确定出了什么问题,有人可以帮忙吗?我做了一个碰撞课,并在xVel-xVel)碰到桨时翻转yVel,当它碰到顶部或底部,但由于某种原因,它的速度是当球击中任何球拍或屏幕的顶部或底部时球会发生变化。我把碰撞和移动方法放在下面:



public void collision()
{
	if(ball.intersects(p1.paddle))
	{
		xVel = - xVel;
	}
	if(ball.intersects(p2.paddle))
	{
		xVel = - xVel;
	}
}
public void move()
{
	collision();
	ball.x += xVel;
	ball.y += yVel;
	//Bounce the ball when edge detected
	if(ball.x<=0)
	{
		p2Score++;
		reset();
	}
	if(ball.x>=690)
	{
		p1Score++;
		reset();
	}
	if(ball.y<=22)
	{
		yVel = -yVel;
	}
	if(ball.y>=490)
	{
		yVel = -yVel;
	}
}
&#13;
&#13;
&#13;

0 个答案:

没有答案