利用FlashMX的AS画线集萃
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-11
圆 效果:类似flash中的工具 代码: createEmptyMovieClip("line", n); with (line) { for (n=1; n<400; n++) { a = 50*Math.cos(n*Math.PI/180); b = 50*Math.sin(n*Math.PI/180); c = 50*Math.cos((n+1)*Math.PI/180); d = 50*Math.sin((n+1)*Math.PI/180); lineStyle(0.01, 0x000000, 50); moveTo(a+50, b+50); lineTo(c+50, d+50); } line._visible = 0; } _root.onMouseDown = function() { qidian_x = _root._xmouse; qidian_y = _root._ymouse; with (line) { _x = qidian_x; _y = qidian_y; _xscale = 0; _yscale = 0; _visible = 1; } }; _root.onMouseMove = function() { endX = _root._xmouse; endY = _root._ymouse; if (_root.line != "_root.line" && key.isdown(16)) { if (Math.abs(endX-qidian_x)>Math.abs(endY-qidian_y)) { setProperty(_root.line, _xscale, endX-qidian_x); setProperty(_root.line, _yscale, endX-qidian_x); } else { setProperty(_root.line, _xscale, endY-qidian_y); setProperty(_root.line, _yscale, endY-qidian_y); } } else { setProperty(_root.line, _xscale, endX-qidian_x); setProperty(_root.line, _yscale, endY-qidian_y); } }; _root.onMouseUp = function() { if (_root._xmouse-qidian_x != 0) { i++; Objectx = "Copy" add i; duplicateMovieClip(_root.line, Objectx, i); setProperty(Objectx, _x, qidian_x); setProperty(Objectx, _y, qidian_y); _root.i = i; } setProperty(_root.line, _visible, 0); }; 两定点画虚线 代码:MovieClip.prototype.dashTo = function(startPoint, destPoint, dashLength, spaceLength) { var x = destPoint.x-startPoint.x; var y = destPoint.y-startPoint.y; var hyp = Math.sqrt((x)*(x)+(y)*(y)); var units = hyp/(dashLength+spaceLength); var dashSpaceRatio = dashLength/(dashLength+spaceLength); var dashX = (x/units)*dashSpaceRatio; var spaceX = (x/units)-dashX; var dashY = (y/units)*dashSpaceRatio; var spaceY = (y/units)-dashY; this.moveTo(startPoint.x, startPoint.y); while (hyp>0) { startPoint.x += dashX; startPoint.y += dashY; hyp -= dashLength; if (hyp<0) { startPoint.x = destPoint.x; startPoint.y = destPoint.y; } this.lineTo(startPoint.x, startPoint.y); startPoint.x += spaceX; startPoint.y += spaceY; this.moveTo(startPoint.x, startPoint.y); hyp -= spaceLength; } this.moveTo(destPoint.x, destPoint.y); }; createEmptyMovieClip("DrawingSpace", 1); with (DrawingSpace) { lineStyle(0, 0x000000, 100); dashTo({x:300, y:0}, {x:0, y:400}, 3, 10); } 从一点到另一点画虚线 代码: function DrawDottedLine(targetMC, linewidth, fromX, fromY, toX, toY) { // targetMC: 目标MovieClip德InstanceName; // linewidth: 线宽; // fromX, fromY: 从(fromX, fromY)处开始画; // toX, toY: 画到(toX, toY)处; var x, y; eval(targetMC).lineStyle(lineWidth, 0x000000, 100); // 线的颜色是黑色(0x000000) eval(targetMC).moveTo(fromX, fromY); x = fromX; y = fromY; while (xx = x+4/(Math.sqrt((toY-fromY)*(toY-fromY)+(toX-fromX)*(toX-fromX)))*(toX-fromX); y = y+4/(Math.sqrt((toY-fromY)*(toY-fromY)+(toX-fromX)*(toX-fromX)))*(toY-fromY); eval(targetMC).lineTo(x, y); x = x+4/(Math.sqrt((toY-fromY)*(toY-fromY)+(toX-fromX)*(toX-fromX)))*(toX-fromX); y = |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 手绘教程之背景的画法下一篇: 很漂亮虚幻的光效教程
关于利用FlashMX的AS画线集萃的所有评论