1

ここに画像の説明を入力

画面に仮想定規が描かれています。成長した四角形内でタッチイベントが発生したときに、上記の青い線のような直線を描画できるようにしたいと考えています。しかし、タッチは100%真っ直ぐにはならないので、赤い線のような動きになるかもしれません。そのため、近くのすべてのタッチ イベントをリッスンするように四角形を設定してから、青い線を描画します。

私は現在持っています

mRulerRect.set(mRulerCenter.x - mRulerBitmap.getWidth() / 2,
                mRulerCenter.y - mRulerBitmap.getHeight()),
                mRulerCenter.x + mRulerBitmap.getWidth() / 2,
                mRulerCenter.y);
mPath.addRect(mRulerRect, Path.Direction.CCW);
mRulerMatrix.setRotate(mRulerAngle, mRulerCenter.x, mRulerCenter.y);
mPath.transform(mRulerMatrix);
mRegions.setPath(mPath, new Region(mRulerRect));

次に、茶色の長方形内でタッチが発生するかどうかをmRegions.contains(x,y). これまでのところ、タッチ検出には完璧に機能しますが、今の問題は直線を描く方法です。X ポイントを修正してから Y を計算しようとしました。定規が水平の場合は正常に機能し、水平から垂直に変更すると非常に奇妙な動作を開始します。これを達成する方法がわかりません。助けてください!ありがとうございました。

4

1 に答える 1