SurfaceView&碰撞

时间:2012-08-05 13:49:45

标签: android surfaceview

在打砖块游戏中,我有以下代码来检查球与杆的碰撞:

if(ball.x + ball.getWidth() > bar.x && ball.x < bar.x + (bar.getWidth()/5)) {
        ...
    }

    else if(ball.x + ball.getWidth() > bar.x + (bar.getWidth()/5) && ball.x < bar.x + (2*bar.getWidth()/5)) {
        ...
    }

    else if(ball.x + ball.getWidth() > bar.x + (2*bar.getWidth()/5) && ball.x < bar.x + (3*bar.getWidth()/5)) {
        ...
    }

    else if(ball.x + ball.getWidth() > bar.x + (3*bar.getWidth()/5) && ball.x < bar.x + (4*bar.getWidth()/5)) {
        ...
    }

    else if(ball.x + ball.getWidth() > bar.x + (4*bar.getWidth()/5) && ball.x < bar.x + bar.getWidth()) {
        ...
    }

但是如果球没有撞到球杆,它说,碰撞发生了。 我的碰撞检查有什么问题?

1 个答案:

答案 0 :(得分:0)

  

我的碰撞检查有什么问题?

奇怪的数学。请检查此Circle-Rectangle collision detection (intersection)