imageview 和 drawables 之间的碰撞检测

Collision detection between imageview and drawables

我正在尝试将我的 ball1 碰撞到 greengreen 可绘制对象。我怎样才能确定碰撞?

  public boolean CheckCollisionred(View ballr,View rr_1,View rg_3) {
    Rect R1 = new Rect(ballr.getLeft(), ballr.getTop(), ballr.getRight(), ballr.getBottom());
    Rect R2 = new Rect(rr_1.getLeft(), rr_1.getTop(), rr_1.getRight(), rr_1.getBottom());
    Rect R3 = new Rect(rg_3.getLeft(), rg_3.getTop(), rg_3.getRight(), rg_3.getBottom());
    return R1.setIntersect(R2, R3);
 
}

@Override
public void run() {startballanimation();
    if (CheckCollisionred()) {
        Score++;
    }else
        Score--;
}

更新:这显示错误 "Checkcollisionred() in main activity cannot be applied to expected parameters, Actual arguments"

编辑:问题是我有一个显示我想要碰撞的可绘制对象的图像按钮。

您可以查看此以查找两个视图的碰撞。 您可以在任何 Imageview 中添加该可绘制对象。

public boolean CheckCollision(View v1,View v2) {
    Rect R1=new Rect(v1.getLeft(), v1.getTop(), v1.getRight(), v1.getBottom());
    Rect R2=new Rect(v2.getLeft(), v2.getTop(), v2.getRight(), v2.getBottom());
    return R1.intersect(R2);
}

您可以将可绘制对象添加为 src

    <ImageView
android:id="@+id/imgLogo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/logo"/>