//---------------------------------------------------------------------------------------------- //【画圆】 // 由八段curveTo组成 function drawCircle(mc, r) { var scale = Math.cos(Math.PI/8); mc.moveTo(r, 0); for (var i = Math.PI/4; i<=Math.PI*2; i += Math.PI/4) { var cx = Math.cos(i-Math.PI/8)*r/scale; var cy = Math.sin(i-Math.PI/8)*r/scale; var ax = Math.cos(i)*r; var ay = Math.sin(i)*r; mc.curveTo(cx, cy, ax, ay); } } createEmptyMovieClip("circle_mc", 0); circle_mc._x = 200; circle_mc._y = 200; circle_mc.lineStyle(2, 0xff0000, 100); drawCircle(circle_mc, 100); //---------------------------------------------------------------------------------------------- //【画虚线】 function drawDashedLine(mc:MovieClip, x1:Number, y1:Number, x2:Number, y2:Number) { var dash = 5+Math.floor(Math.random()*5); var step = dash+3; var angle = Math.atan2(y2-y1, x2-x1); var dashx = dash*Math.cos(angle); var dashy = dash*Math.sin(angle); var stepx = step*Math.cos(angle); var stepy = step*Math.sin(angle); var _length = Math.sqrt(Math.pow(x2-x1, 2)+Math.pow(y2-y1, 2)); with (mc) { lineStyle(0, 0xff0000, 100); for (var i = step, px = x1, py = y1; i<=_length; i += step) { moveTo(px, py); lineTo(px+dashx, py+dashy); px += stepx; py += stepy; } moveTo(px, py); lineTo(x2, y2); } } drawDashedLine(this, 22, 44, 66, 88); //---------------------------------------------------------------------------------------------- //【画直线】 // x1, y1: 起点坐标 x2, y2: 终点坐标 t是粗细 0<=t<=255 MovieClip.prototype.drawLine = function(x1, y1, x2, y2, t) { this.lineStyle(t); this.moveTo(x1, y1); this.lineTo(x2, y2); }; this.createEmptyMovieClip("line_mc", 0); line_mc.drawLine(10, 10, 100, 100, 2); //---------------------------------------------------------------------------------------------- //【画螺旋线】 // w、h为宽和高 f控制线的长短,用弧度表示 MovieClip.prototype.drawHelix = function(w, h, f) { for (var i = 0; i