比如屏幕上有N个点,我们需要用线将他们连接起来,如果是直线很好办,
直接用moveTo和lineTo就搞定了。但如果是曲线呢,比如我们在绘制图表的过程中,
需要用贝赛尔曲线将N个点连接,怎么办呢?
如果你认为用graphics.curveTo能搞定就错了,因为难以计算控制点,
你无法连接成一条平滑的曲线。
好在还有第三方的类库CubicBezier,看它完成的效果:
使用方法
代码
import flash.display.MovieClip;
import flash.geom.Point;
this.graphics.lineStyle(3,0x000000,1);
var points:Array = [];
for(var i:uint = 1;i<8;i++)
{
var m:MovieClip = this["m"+i];
points.push(new Point(m.x,m.y));
}
CubicBezier.curveThroughPoints(this.graphics,points);
import flash.geom.Point;
this.graphics.lineStyle(3,0x000000,1);
var points:Array = [];
for(var i:uint = 1;i<8;i++)
{
var m:MovieClip = this["m"+i];
points.push(new Point(m.x,m.y));
}
CubicBezier.curveThroughPoints(this.graphics,points);