Ich habe eine Bitmap, die ich mit dem On-Touch-Ereignis und einem Rect in der Mitte des Bildschirms bewegen. Könnte mir jemand sagen, warum die Bitmap und das Rect nicht kollidieren? Ich bin sehr neu im Thema der Kollision.Android Studio Kollision
Danke.
Der Code:
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;
}
}
Hallo, danke für den aswer, i die RECT2 ändern für „RECT2 = new Rect (esferaX, esferaY, esferaX + 200, esferaY + 200) " und es funktioniert. –