0

我正在尝试制作一个“按钮轮” - 我有一个自定义“按钮”对象,它使用 Rect 作为它的位置/大小。

我可以通过这样做来旋转:

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;

不幸的是,这仅适用于一个,因为它们然后都排成一列...我如何合并“偏移”或增量而不是分配位置

我试过了:

 //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 回答