我想制作一个“按钮轮” - 我有一个自定义的“Button”对象,它使用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;
答案 0 :(得分:1)
存储您正在旋转的原点,并且每次去计算其位置时,都要根据原点而不是当前点进行计算。