【问题标题】:Paddle game - Ball contacting paddle桨游戏 - 球接触桨
【发布时间】:2014-04-23 22:45:57
【问题描述】:

目前正在编写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;

}

【问题讨论】:

    标签: java methods collision


    【解决方案1】:

    现在您正在检查它们是否完全相同。因此,只有当它们完全相同时,它才会返回 true,即。 10.1 == 10.1.... 但是 10.1 != 10.2

    尝试使用

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

    但是无论如何,这似乎是一种笨拙的计算方法。您正在将球的 Y 值与桨的 X 值进行比较。

    【讨论】:

    • 如果我用 paddleXPos+width 代替桨的高度,它总是会在高度改变方向,不管桨是否存在。这是我知道如何合并 Y 值的唯一方法。我真的被这种方法卡住了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多