Android 工作室冲突

Android Studio Collision

我有一个随触摸事件移动的位图和屏幕中间的一个矩形。有人能告诉我为什么位图和矩形不冲突吗?我是碰撞主题的新手。

谢谢。

代码:

public class Juego extends View implements View.OnTouchListener{

Bitmap super_esfera;
int esferaX = 0;
int esferaY = 0;
int left, top, right, bottom;

public Juego(Context context, AttributeSet attrs) {
    super(context, attrs);
    this.setOnTouchListener(this);
    setFocusable(true);

    super_esfera = BitmapFactory.decodeResource(getResources(), R.drawable.super_esfera);

}

public void onDraw(Canvas canvas){
    Paint paint = new Paint();

    Bitmap indexcanvas = Bitmap.createScaledBitmap(super_esfera, 200, 200, true);
    //Esta es la posicion
    canvas.drawBitmap(indexcanvas, esferaX, esferaY, paint);
    left = (canvas.getWidth()/2) - 100;
    top = (canvas.getHeight()/2) - 100;
    right = (canvas.getWidth()/2) + 100;
    bottom = (canvas.getHeight()/2) + 100;

    canvas.drawRect(left, top, right, bottom, paint);
}

public boolean onTouch(View view, MotionEvent event) {

    esferaX = (int)event.getX() - 100;
    esferaY = (int)event.getY() - 100;

    if (esferaX >= left && esferaY >= top && esferaX <= right && esferaY <= bottom){
        return false;
    }

    invalidate();
    return true;
}

}

围绕 super_esfera

创建一个矩形

rect2 = new Rect(esferaX-100,esferaY-100,esferaX+100,esferaY+100);

围绕您为碰撞创建的矩形创建一个矩形

rect = new Rect(左、上、右、下);

使用Rect的intersects方法class看是否碰撞

 if (Rect.intersects(rect,rect2)) {
    Log.i(getClass().getName(),"coliding now");
    }