将位图保留在矩形内 - android

时间:2015-01-26 23:49:04

标签: android bitmap

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

 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);
}

1 个答案:

答案 0 :(得分:0)

你有基本的想法。

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

然后将新的X坐标与矩形的左右边界进行比较, 如果新的X坐标位于矩形的边界之外,请将坐标重置为超出的范围。

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

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

我编写了一段代码来执行此操作,请参阅https://github.com/rfreedman/android-constrained-drag-and-drop-view以获取示例。