桨游戏 - 球接触桨

时间:2014-04-23 22:45:57

标签: java methods collision

目前正在编写java游戏,其中底部有三面墙和一个球拍,试图实施碰撞方法,检查球是否击中球拍。球有时会注意到球拍,有时也不会。想知道是否有人可以指出我出错的地方。

我的代码:

public boolean isCollision(Ball aBall) {


int ballYPos = aBall.getY(); // getY will return position of center of ball
int paddleXPos = Paddle.this.getX(); //will return upper left corner of paddle

    if(ballYPos-aBall.getRadius() == paddleXPos+width ) //checking for yPos-radius
    {
        return true;
    }
    else return false;

}

1 个答案:

答案 0 :(得分:0)

现在你正在检查它们是否完全相同。所以如果它们完全相同,它只会返回true,即。 10.1 == 10.1 ....但是10.1!= 10.2

尝试使用

if(ballYPos-aBall.getRadius() <= paddleXPos+width ) //checking for yPos-radius
    {
        return true;
    }

然而,无论如何,这似乎是计算它的笨重方式。您正在将球的Y值与桨X值进行比较。