0

「ボタンのホイール」を作成しようとしています-位置/サイズにRectを使用するカスタムの「Button」オブジェクトがあります。

これを行うことで回転させることができます:

Button1.Rectangle.left = (int) (Vertex.x + (radius * Math.sin(Math.toRadians(Degree))));
Button1.Rectangle.top =  (int) (Vertex.y + (radius * Math.cos(Math.toRadians(Degree))));
Button1.Rectangle.right = Button1.Rectangle.left + ButtonSize;
Button1.Rectangle.bottom = Button1.Rectangle.top + ButtonSize;

    Degree += 1;

残念ながら、これは1つだけで機能します。これは、すべてが互いに整列するためです。場所を割り当てる代わりに、「オフセット」または増分を組み込むにはどうすればよいですか。

私はもう試した:

 //Using self position as vertex
    Button1.Rectangle.left = (int) (Button1.Rectangle.left + (radius * Math.sin(Math.toRadians(Degree))));
    Button1.Rectangle.top =  (int) (Button1.Rectangle.top + (radius * Math.cos(Math.toRadians(Degree))));

// using +=
 Button1.Rectangle.left += (int) (Vertex.x + (radius * Math.sin(Math.toRadians(Degree))));
Button1.Rectangle.top +=  (int) (Vertex.y + (radius * Math.cos(Math.toRadians(Degree))));

私はそれがかなり簡単なものでなければならないことを知っています、私はそれを見逃しているだけです...

編集:

「」を作成して修正しました

int Degree1 = 0;
int Degree2 = 90;
int Degree3 = 180;
etc.

そしてそれらをインクリメントします:

Degree1 += 1;
Degree2 += 1;
Degree3 += 1;
4

1 に答える 1

1

回転している原点を保存し、その位置を計算するたびに、現在の点ではなく原点に対して計算します。

于 2012-07-27T21:24:26.463 に答える