1:正弦分布
正弦分布基础是体现在正弦曲线上,利用数学中的正弦公式y=sinx可以建立起最简单的正弦分布图形。公式如下:
mc.x=i*distance;
mc.y=A*Math.sin(rotation)
其中A为正弦的振幅,角度的递增,位置也发生相应改变。例子中源代码如下:
var perAngle:Number=360/20;
var i:int=0;
var f:int=1;
var t:Timer = new Timer(20,42);
t.addEventListener(TimerEvent.TIMER,sc);
t.start();
function sc(e:TimerEvent) {
 fz();
}
btn.addEventListener(MouseEvent.MOUSE_DOWN,down);
btn.buttonMode = true;
function down(e:MouseEvent) {
 t.reset();
 i=0;
 f+=1;
 if (f>5) {
  f=1;
 }
 t.start();
}
function fz() {
 var Y:quan=new quan();
 Y.gotoAndStop(f);
 addChild(Y);
 Y.x=20+i*perAngle/360*300;
 Y.y=60+50*Math.sin(perAngle*i*Math.PI/180);
 i++;
}

 

2:螺旋分布
螺旋分布实际上是利用了三角函数排布圆形的方法,不同点在于是使圆形的半径递增,实现螺旋分布。简单的排布公式如下:
mc.x=Math.cos(angle)*(R+n)
mc.y=Math.sin(angle)*(R+n);
实例中的源代码如下:
var perAngle:Number=2*Math.PI/40;
var R:Number=20;
var i:int=0;
var f:int=1;
var t:Timer = new Timer(20,200);
t.addEventListener(TimerEvent.TIMER,sc);
t.start();
function sc(e:TimerEvent) {
 fz();
}
btn.addEventListener(MouseEvent.MOUSE_DOWN,down);
btn.buttonMode = true;
function down(e:MouseEvent) {
 t.reset();
 i=0;
 f+=1;
 if (f>5) {
  f=1;
 }
 t.start();
}
function fz() {
 var Y:quan=new quan();
 Y.gotoAndStop(f);
 addChild(Y);
 Y.x=175+(R+i*0.5)*Math.cos(i*perAngle);
 Y.y=150+(R+i*0.5)*Math.sin(i*perAngle);
 i++;
}
 

我内心激动,有话要说