我目前正在开发一个Android应用程序,我在屏幕中间有一个固定的图像视图,其他图像视图朝着它移动。我想实现一种方法,一旦其中一个运动图像接触到中间的图像就会通知我。这就是我现在正在使用的:
public void checkLoss() {
if(spekList.size() > 0) {
for(Spek spek : spekList) {
final int[] position = new int[2];
spek.getLocationInWindow(position);
final Rect rect1 = new Rect(position[0], position[1], position[0] + spek.getWidth(), position[1] + spek.getHeight());
middle.getLocationInWindow(position);
final Rect rect2 = new Rect(position[0], position[1],position[0] + middle.getWidth(), position[1] + middle.getHeight());
if(Rect.intersects(rect1, rect2)) {
if (health == 1) {
lost = true;
gameOver();
break;
} else {
health--;
setMiddleImage(health);
removeSpek(spek);
break;
}
}
}
}
}
这有效,但我意识到它并不那么准确。在我收到通知之前,运动图像通常会一直到达固定图像的中间,而我希望一旦边界触摸就会发生。是否有某种类型的库提供此功能?如果有的话,实施它有多容易?
感谢您的支持:)