0

在我的游戏中,我有矩形ImageView,从屏幕顶部掉下来。在底部有另一个ImageView可以用加速度计移动。

现在我想检查一下,从顶部掉落的 's 是否与底部的ImageView's 发生碰撞。ImageView我怎样才能做到这一点?

4

2 回答 2

0

我不确定您是否可以碰撞,但您仍然可以使用 getMeasuredWidth() 和 Height() 来确定您的方形边界框。然后看看两个正方形的边缘中是否有任何一个在相对的边界框中......

if((square1.x > square2.x && square1.x < square2.x+square2.width) && (square1.y > square2.y && square1.y < square2.y+square2.height))
//collision happened
于 2012-08-02T11:52:38.257 回答
0

尝试这个。此函数检测 2 个 ImageView 之间的冲突

public boolean collision(ImageView a, ImageView b){
    float bl = a.getY();
    float bt = a.getX();
    float br = a.getWidth() + bl;
    float bb = a.getHeight() + bt;
    float pl = b.getY();
    float pt = b.getX();
    float pr = b.getWidth() + pl;
    float pb = b.getHeight() + pt;
    if (bl <= pr && bl >= pl && bt >= pt && bt <= pb) {
        return true;

    } else if (br >= pl && br <= pr && bb >= pt && bb <= pb) {
        return true;
    } else if (bt <= pb && bt >= pt && br >= pl && br <= pr) {
        return true;
    } else if (bb >= pt && bb <= pb && bl >= pl && bl <= pr) {
        return true;
    }
    return false;
}
于 2014-08-20T05:17:04.260 回答