我正试图将我的ball1碰撞到greengreen drawable。我怎样才能确定碰撞?
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()无法应用于预期参数,实际参数”
编辑:问题是我有一个图像按钮,显示我想要碰撞的drawable。
答案 0 :(得分:1)
您可以选中此选项以查找两个视图的碰撞。 您可以在任何Imageview中添加该drawable。
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);
}
您可以将drawable添加为src
<ImageView
android:id="@+id/imgLogo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/logo"/>