1

ホイール メニュー コントロールを作成しています。アイデアは、操作したいアイテムが表示されるまでホイールを回転させてから、それをクリックするなどです。ユーザーのマウスの動き (x & y) をホイールを回転させる角度に変換する方法を理解しようとしています。私はそれをすべて実装できますが、変換を行うための計算が不足しています。ヘルプやポインタをいただければ幸いです。

4

2 に答える 2

4

マウス位置間の角度

ユーザーがマウスを [x1,y1] から [x2,y2] に移動した場合、基本的に必要なのは

θ=θ 12

どこ:

θ 1 = Math.atan2(y1, x1);

θ 2 = Math.atan2(y2, x2);

これはすべて、原点 (ホイールの中心) を定義する場所によって異なります。原点が [x0,y0] の場合、実際のマウス座標からそれらの値を差し引くだけです。

また、画面上では座標系が上下逆になっているため、0,0 は左下ではなく左上にあるため、反転する必要がありますが、計算は本質的に同じです。

また、角度は度ではなくラジアンで測定されることに注意してください。

于 2010-11-09T08:31:38.467 に答える
1

コントロールのatan2()中心からオフセットされた 2 つの後続の位置の を取得し、角度のデルタに定数を掛けて値を変更します。

于 2010-11-09T07:13:17.010 に答える