Android ImageView碰撞检测?

时间:2014-07-24 05:21:16

标签: android imageview collision

当两个ImageView相互交叉时,我正试图让事情发生。这是我使用的代码:

Rect rect1 = new Rect();
imageView.getHitRect(rect1);
Rect rect4 = new Rect();
imageView2.getHitRect(rect4);

boolean collision = false; 
collision = rect1.intersect(rect4);
if(collision = true){
    button.setText("collided"); 
}else
    button.setText("not collided"); 

但是,当应用程序启动时,布尔值才会更改为true。第一个ImageView保持静止,而另一个移动到第一个(它不是精灵,但是它朝着第一个ImageView的方向移动并移过它)。我希望布尔值在两个ImageView相交时改变。有什么我想念的吗?

2 个答案:

答案 0 :(得分:5)

试试这个:

 Rect rc1 = new Rect();
 imageView1.getDrawingRect(rc1);
 Rect rc2 = new Rect();
 imageView2.getDrawingRect(rc2);
 if (Rect.intersects(rc1, rc2) {
   // intersection is detected
   // here is your method call
 }

答案 1 :(得分:0)

我在互联网上搜索了几天,这对我有用。惊人。

请记住每秒检查一次碰撞

How to know if two images are intersect while one image moving in android?