| 鬼火的AS画线教程 |
| 责任编辑:admin 更新日期:2005-8-6 |
this.lineTo(cur.x, cur.y); } } }; /////////////////////////////////////////////////////////////////////////////////
//下面这位老大演示的是线条随时间变化增加的方法 //建立函数 function drawDream() { //如果i没有指定(不知道怎么说好),i就被默认为0 if (i == undefined) { i = 0; keynum = 1; offy = 300; clr = new Color(pic); //如果i被指定大于等于700 } else if (i>=700) { //清除时间函数setInterval建立的变化 clearInterval(idDream); } //建立小线线 mc.lineStyle(random(++i/i/10), ++i*random(80), (i/50)); tempx += i*2*keynum/10; //reverse set keynum = tempx<250 ? 1 : -1; //reverse key tempy = 0; offy -= .07; //移动起始点 mc.moveTo(tempx, tempy); mc.lineTo(tempx, tempy+offy); var tempcolor = clr.getTransform(); tempcolor.rb += i/200; //color to sun tempcolor.gb += i/150; //color to leaf clr.setTransform(tempcolor); } //init stage.scalemode = "showall"; createEmptyMovieClip("pic", 1); createEmptyMovieClip("mc", 2); createEmptyMovieClip("loader", 3); pic.loadMovie("ice.jpg"); loader.onEnterFrame = function() { if (_root.pic._width>0) { _root.pic._width = Stage.width; _root.pic._height = Stage.height; this.removeMovieClip(); } }; //init end //start main timer idDream = setInterval(drawDream, 10); /////////////////////////////////////////////////////////////////////////////////
//下面这位虾虾做的是余眩曲线,余xuan?我不知道怎么拼写啊,就用别的字代替咯,呵呵
// x, y: 中心点坐标 // kx, ky: x轴及y轴的缩放比例 // x1, x2: 波形线起止x坐标 //设定线线的粗细为0.1 linestyle(.1, 0xff0000, 100);
MovieClip.prototype.wave = function(x, y, kx, ky, x1, x2) { if (x1 == x2 || kx == 0) { return; } // 如果中心坐标和终点坐标重合(没移动)或者Y坐标没有缩放,则无效返回。 var pi_6 = Math.PI/6; // var i = 1; var beginx = (x1-x)/kx; // 开始点的相对x坐标 var endx = (x2-x)/kx; // 结束点的相对x坐标 var curx = beginx; // 当前点 // var nextx = beginx<endx ? (Math.floor(curx/pi_6)+1)*pi_6 : (Math.ceil(curx/pi_6)-1)*pi_6;//x坐标的间隔 // var coscx = Math.cos(curx); // var cccsc = coscx*curx-Math.sin(curx); // var cosnx, cnnsn, controlx, controly, anchorx, anchory; this.moveTo(x1, y+ky*Math.sin(curx)); while (true) { if (beginx<endx && nextx>endx || beginx>endx && nextx<endx) { nextx = endx; // 在所在的区间内 } cosnx = Math.cos(nextx); cnnsn = cosnx*nextx-Math.sin(nextx); controlx = x+kx*(cccsc-cnnsn)/(coscx-cosnx); // controlx=(cosx1*x1-sinx1-cosx2*x2+sinx2)/(cosx1-cosx2) controly = y+ky*(cccsc*cosnx-cnnsn*coscx)/(coscx-cosnx); // [(cosx1*上一页 [1] [2] [3] [4] 下一页 |
|
| 上一篇文章: 电子时钟的制作 |
| 下一篇文章: 人物走动的类 |
|
|
|
|