我有一个圆圈(不受玩家控制)和半圆(玩家控制)不正确地碰撞。检测方法工作正常,并在发生碰撞时返回布尔值。但是,反应不能正常进行。我最注意的问题是,当半圆不移动时,圆圈直接穿过半圆而不改变速度。圆形和半圆形都有称为speedX和speedY的整数。作为参考,类球是圆形,类球员是半圆形。 我的代码如下:
if(contact==true)
runBounce();
public void runBounce()
{
int speedX=ball.getSpeedX()+(player.getSpeedX()/2);
int speedY=ball.getSpeedY()+(player.getSpeedY()/2);
if (player.getSpeedX()==0 && player.getSpeedY()==0)
{
bounceOff();
}
else
{
ball.setSpeedX(speedX);
ball.setSpeedY(speedY);
}
}
public void bounceOff()
{
ball.setSpeedX(ball.getSpeedX()*-1);
ball.setSpeedY(ball.getSpeedX()*-1);
}
为什么我的代码不起作用,我该怎么做才能修复它?
答案 0 :(得分:2)
你的最后一行是你的问题...你在Y上使用了反向X并输入了错字。