两个图像之间的碰撞检测

时间:2011-11-23 08:03:48

标签: java android eclipse

我有2张图片,图片A和图片B.我想知道图片A何时移动到B并发生碰撞,如何检测?

这是我的代码:

case MotionEvent.ACTION_MOVE:
    builder.append("move, ");
    if (mode == DRAG) 
    { 
        matrix.set(savedMatrix);
        // create the transformation in the matrix  of points
        matrix.postTranslate(event.getX() - start.x, event.getY() - start.y);

        builder.setLength(0);
        builder.append(event.getX());
        builder.append("x , y ");
        builder.append(event.getY());
        text = builder.toString();

        Log.d("TouchTest", text);
        txtimage = (TextView)findViewById(R.id.txt);
        txtimage.setText(text);

        float aX = event.getX();
        float aY = event.getY();

        String a = Float.toString(aX);
        String b = Float.toString(aY);

        if (image.getWidth()/2 == image2.getWidth()/2 &&
            image.getHeight()/2 == image2.getHeight()/2)
        {
            Toast.makeText(Multi_touchActivity.this, "collision",
                           Toast.LENGTH_SHORT).show();
        }                   
    }

2 个答案:

答案 0 :(得分:3)

您可以使用Rect intersect方法检查它们是否重叠(碰撞)。

答案 1 :(得分:0)

在大多数基于java的图形引擎中有一个命中测试方法,但你必须弄清楚这个代码库究竟是什么叫它 - 在你的图形库上搜索命中测试