做了一个曲线效果
点击浏览该文件
http://www.Flash8.net/bbs/UploadFile/2005-4/20054221451174.swf
下面是代码,第一个函数是curveTo的加强版,大家也来试试吧!
//points是控制点的数组,t是精度吗?n是阶(其实就是控制点的个数)
functionbezier(points,t,n){
vararr=newArray();
for(vari=0;i vartemp=newObject(); temp.x=points[i].x; temp.y=points[i].y; arr.push(temp); } for(varr=1;r for(vari=0;i arr[i].x=(1-t)*arr[i].x+t*arr[i+1].x; arr[i].y=(1-t)*arr[i].y+t*arr[i+1].y; } } return(arr[0]); } /////////////////////////////////////////////////////////////////////// varpoints_arr:Array=newArray(); init(); functiondoMouseDown(){ _root.clear(); _root.lineStyle(1,0x0000ff,15); for(vari=0;i if(i==0) _root.moveTo(points_arr[i].x,points_arr[i].y); _root.lineTo(points_arr[i].x,points_arr[i].y); } _root.lineStyle(1,0xff0000,100); n=points_arr.length; k=5*n; for(vari=0;i20) points_arr=newArray(); } /////////////////////////////////////////////////////////////////////// functioninit(){ l=newObject(); l.onMouseDown=function(){ varpoint=newObject(); point.x=_xmouse; point.y=_ymouse; points_arr.push(point); if(onEnterFrame!=undefined){ deleteonEnterFrame; points_arr=newArray(); } }; l.onMouseUp=doMouseDown; Mouse.addListener(l); _root.onEnterFrame=function(){ _root.clear(); _root.lineStyle(1,0xff0000,100); varpoint=newObject(); point.x=500*Math.random(); point.y=500*Math.random(); points_arr.push(point); _root.lineStyle(1,0xff0000,100); doMouseDown(); }; }

