围绕圆圈动态地间隔数字

时间:2010-01-30 22:13:00

标签: flex flash actionscript-3 actionscript flex3

我正在试图弄清楚如何动态地将数字放在圆圈周围(类似于钟面),但动态地如此,如果圆圈周围的数字是5或27 ......它们会正确地分隔出来。

我发现一些代码(如下所示)看起来可能会有所帮助,但我无法实现它。我不知道我是如何将它重新绑定到圆圈和数字上的。

非常感谢任何帮助。 感谢

function getNPointsOnCircle( center:Point, radius:Number, n:Number = 10 ) : Array

{

var alpha:Number = Math.PI * 2 / n;
var points:Array = new Array( n );

var i:int = -1;
while( ++i < n )
{
    var theta:Number = alpha * i;
    var pointOnCircle:Point = new Point( Math.cos( theta ) * radius, Math.sin( theta ) * radius );
    points[ i ] = center.add( pointOnCircle );
}

return points;

}

1 个答案:

答案 0 :(得分:3)

该代码完美无缺。这是如何使用它:

var center:Point = new Point(100,100);
var radius = 100;
var n = 10


var p:Array = getNPointsOnCircle( center, radius, n)


var myContainer:Sprite = new Sprite();
myContainer.graphics.lineStyle(1);

for (var k = 0; k <p.length;k++)
{
    myContainer.graphics.drawCircle(p[k].x,p[k].y,5);
}

addChild(myContainer);