我看到了这个很棒的圆圈菜单 http://creative-punch.net/2014/02/making-animated-radial-menu-css3-javascript/
我的数学太糟糕了,无法将其修改为只分配圆圈上半部分的项目。
此外,我还想摆脱它的相对%定位,让物品以像素为单位展开预定距离。因此不再需要菜单边框。
答案 0 :(得分:0)
dtheta = dist / rad;
num = Math.floor(PI / dtheta);
theta = (PI - num * dtheta) / 2;
for (var i = 0; i < num; i++)
{
x = center_x + rad * cos(theta);
y = center_y + rad * sin(theta);
theta += dtheta;
//drawelement(elements[i], x, y);
}
dist
:菜单元素之间的距离(elements
:菜单元素列表rad
:圆的半径center_x, center_y
:中心坐标num
:可绘制元素的最大数量 N.B。传递给drawelement
的坐标是每个菜单元素的 center 的坐标,而不是左上角的坐标。