Rect.intersect不起作用?

时间:2016-12-01 19:23:49

标签: android

所以我有一个ImageView,它使用ObjectAnimator移动到Activity的顶部。我在活动中有这些字段:

Rect rocketRectangle, planet1Rectangle, planet2Rectangle, planet3Rectangle;

在onCreate方法中,我将rocketRectangle设置为:

rocketRectangle = new Rect();
rocketImageView = (ImageView) findViewById(R.id.rocket_img);
rocketImageView.getDrawingRect(rocketRectangle);

我还有另一个动态创建LinearLayout的方法,在那里我根据for循环的索引在for循环中设置行星矩形,所以:

if(i == 1)
{
   planet1Rectangle = new Rect();
   linearLayouts.get(i).getDrawingRect(planet1Rectangle);
}

现在在我的onSensorChange方法中(基本上每秒调用一次)我有IF语句来检查与3个矩形(planet1Rectangle,planet2Rectangle和planet3Rectangle)中的任何一个的碰撞,所以:

 Log.d("test", "we're running");
 if(rocketRectangle.intersect(planet1Rectangle))
 {
    Log.d("intersect", "planet1");
 }

注意在IF语句之外我有一个Log,这个被多次调用soo然而相交if语句中的日志不会...记住,当所有这一切都发生时,rocketImageView也在后台移动。

有谁知道为什么非IF语句都返回true?

谢谢!

0 个答案:

没有答案