将位图保留在矩形内 - 安卓



我正在尝试了解在屏幕上移动物体等的基础知识。我有一个位图,我正在屏幕上移动该位图。如何将位图保留在矩形内并仍然移动它。我想将位图放在一个矩形中,因为这将有助于与其他对象的碰撞检测。以下是我到目前为止的代码。谢谢

 Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(), R.drawable.yellow_ball);
      x1 = 0;
      y1 = 100;
@Override
protected void onDraw(Canvas canvas) {

 if(x1 < canvas.getWidth()){
     x1 += 5;
    }
    else{
     x1 = 0;
      }
    canvas.drawBitmap(bitmap1, x1, y1, null);
}

你有基本的想法。

首先,确定要将对象移动到的位置。

然后将新的 X 坐标与矩形的左右边界进行比较,如果新的 X 坐标在矩形的边界之外,请将坐标重置为超过它的边界。

然后,对 Y 坐标执行相同的操作。

最后,将位图移动到调整后的 X 和 Y 坐标。

不久前,我编写了代码来执行此操作,有关示例,请参阅 https://github.com/rfreedman/android-constrained-drag-and-drop-view。

最新更新