Android ImageView冲突
在我的游戏中,我有一个矩形的Android ImageView冲突,android,android-imageview,collision,Android,Android Imageview,Collision,在我的游戏中,我有一个矩形的ImageView,从屏幕顶部向下。底部有另一个ImageView,可随加速计移动 现在我想检查,从顶部落下的ImageView是否与底部的ImageView发生碰撞。我怎样才能做到这一点呢?我不太确定是否可以让该对象发生碰撞,但仍然可以使用getMeasuredWidth()和Height()来确定正方形边界框。然后看看两个正方形的边是否在相反的边界框中 if((square1.x > square2.x && square1.x < s
ImageView
,从屏幕顶部向下。底部有另一个ImageView
,可随加速计移动
现在我想检查,从顶部落下的
ImageView
是否与底部的ImageView
发生碰撞。我怎样才能做到这一点呢?我不太确定是否可以让该对象发生碰撞,但仍然可以使用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
if((square1.x>square2.x和square1.xsquare2.y和square1.y
试试这个。此函数用于检测两个图像视图之间的冲突
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;
}
公共布尔冲突(ImageView a、ImageView b){
float bl=a.getY();
float bt=a.getX();
浮动br=a.getWidth()+bl;
浮动bb=a.getHeight()+bt;
float pl=b.getY();
float pt=b.getX();
float pr=b.getWidth()+pl;
浮动pb=b.getHeight()+pt;
如果(bl=pl&&bt>=pt&&bt=pl&&br=pt&&bb=pl&&br=pt&&bb=pl&&bl)在曲面视图上绘制位图这样做不是更好吗?那么碰撞检测很容易。我对此一无所知。你能给我发一个带教程的链接吗?这里有一个:尽管只是谷歌“安卓surfaceview教程”,你会发现还有一百万其他的。还有Youtube视频