私のゲームでImageView
は、画面の上から落ちてくる長方形があります。下部にはImageView
、加速度計で移動できる別のものがあります。
ImageView
ここで、上から落ちている'が下のと衝突していないか確認したいと思いImageView
ます。これどうやってするの?
私のゲームでImageView
は、画面の上から落ちてくる長方形があります。下部にはImageView
、加速度計で移動できる別のものがあります。
ImageView
ここで、上から落ちている'が下のと衝突していないか確認したいと思いImageView
ます。これどうやってするの?
これを試して。この関数は、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;
}
を衝突させることができるかどうかはよくわかりませんが、それでも getMeasuredWidth() と Height() を使用して正方形の境界ボックスを決定できます。次に、2 つの正方形のエッジのいずれかが反対側の境界ボックスにあるかどうかを確認します...
if((square1.x > square2.x && square1.x < square2.x+square2.width) && (square1.y > square2.y && square1.y < square2.y+square2.height))
//collision happened