내 게임에서 나는 ImageView
의 사각형이 화면 상단에서 떨어졌습니다. 하단에는 가속도계로 이동할 수있는 또 다른 ImageView
이 있습니다.ImageView 충돌
이제 위로부터 떨어지는 ImageView
의 것인지 확인하고 싶습니다. 하단의 ImageView
과의 충돌이 있습니다. 어떻게해야합니까?
내 게임에서 나는 ImageView
의 사각형이 화면 상단에서 떨어졌습니다. 하단에는 가속도계로 이동할 수있는 또 다른 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
sry하지만 안드로이드에 대한이 무엇입니까? 왜냐하면'x'와'y'는 존재하지 않기 때문입니다 ... – Stupe
보십시오. 이 함수는 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;
}
표면 뷰에 비트 맵을 그려서 더 좋은 생각을하지 않습니까? 그러면 충돌 감지가 쉽습니다. –
sry 나는 그것에 대해 아무것도 몰라. 당신이 나를 위해 튜토리얼과 링크를 보내 주시겠습니까? – Stupe
다음은 하나입니다. http://www.droidnova.com/playing-with-graphics-in-android-part-ii160.html하지만 Google의 'android surfaceview tutorial'뿐 아니라 백만 명이 될 것입니다. Youtube 비디오 too –