代码&Demo原作者是:Ric Ewing,Robert Penner, Eric Mueller and Michael。
原来是ActionScript 1的,在AS2中使用不太方便。于是黑羽动手改写了一下,写成了ActionScript 2.0的类。在AS2中使用简单方便,直观。
昨晚整理了一下,写了API注解,今天放上来。 Tips:除了用来直接绘制图形外,更可以使用这些高级图形做各种复杂的Mask,(有的可以做Guide),视觉效果非常棒。
Demo:
点击下载ActionScript 2.0 高级绘图工具类
安装:解压缩,双击mxp文件,即可安装好。
下载安装后,使用方法如下:
1. 导入类 (如果不懂什么是导入类,也没有关系。 只要知道要用GraphicTools时,一定要先写这一句。如果是在帧中,最好写在第一句;在类文件中也写在类声明前面。 只写一次即可。) import org.kingda.graphics.GraphicTools;
2. 给GraphicTools一个目标MC,然后设定相关图形的参数即可:
//比如说,我创建一个空的MC,d_mc。当然你也可以直接指定已有的mc给GraphicTools d_mc = _root.createEmptyMovieClip("drawing_layer", 2);
//以下两行是设定绘制图形的线条样式,和填充色。这个随便你写。 d_mc.lineStyle(2,0x6688AA); d_mc.beginFill(0x3366,25);
//使用drawPoly画一个多边形,参数的意思看我的API解释 GraphicTools.drawPoly(d_mc,150,75,8,80,30);
//结束填充,大功告成 d_mc.endFill();
如蒙装载,请标注我的Blog链接,黑羽翔天Blog,便于日后升级版本添加功能时,闪友们能到我网站来及时更新。
3.API
//画扇形 // target_mc是目标MovieClip。 设定后,GraphicTools就在其中画图了。 // x,y 是画笔起点在target_mc中的相对坐标 //startAngle:开始角度。 // arc: 扇形的度数。当然不能大于360度。 // raduius: 扇形所处圆的半径 // yraduius: 如果不填,那么就默认和半径一样。填了,就是纵轴半径长度。画出椭圆形的扇形。 GraphicTools.drawPie(target_mc:MovieClip, x:Number, y:Number, startAngle :Number, arc :Number, radius :Number, yRadius :Number)
//画矩形 //cornerRadius:是画圆角矩形用的,指定圆角的半径,默认为0 GraphicTools.drawRect(target_mc:MovieClip, x:Number , y:Number, w:Number , h:Number, cornerRadius:Number)
//画弧线 //与扇形大致相同,返回一个Object,里面是画线后画笔所在坐标 GraphicTools.drawArc(target_mc:MovieClip, x:Number, y:Number, radius:Number, arc:Number, startAngle:Number, yRadius:Number):Object //Object:{x:xPosition,y:yPostion}
//画多边形 //radius表示中心到顶点的距离 //angel指初始多边形转动角度,默认为0
GraphicTools.drawPoly(target_mc:MovieClip, x:Number, y:Number, sides:Number, radius:Number, angle:Number)
//画星形 //innerRadius:顶点到内顶点的距离 //outerRadius:顶点到外顶点的距离 GraphicTools. drawStar(target_mc:MovieClip, x:Number, y:Number, points:Number, innerRadius:Number, outerRadius:Number, angle:Number)
//画椭圆 //yRadius缺省,或者填和radius一样的值那就是圆形了。 GraphicTools.drawOval(target_mc:MovieClip, x:Number, y:Number, radius:Number, yRadius:Number)
//画爆炸形 GraphicTools. drawBurst(target_mc:MovieClip, x:Number, y:Number, sides:Number, innerRadius:Number, outerRadius:Number, angle:Number)
//画点状虚线 //start x,y 是起点坐标 // end x,y 是终点坐标 //len是点状线的点长度 //gap是点和点之间的距离 GraphicTools.dashTo(target_mc:MovieClip, startx:Number, starty:Number, endx:Number, endy:Number, len:Number, gap:Number)
//画齿轮 //holeSides是齿孔形状的边数 //holeRadius是中心到齿孔顶点的距离 GraphicTools.drawGear(target_mc:MovieClip, x:Number, y:Number, sides:Number, innerRadius:Number, outerRadius:Number, angle:Number, holeSides:Number, holeRadius:Number)
出处:蓝色理想
责任编辑:蓝色月光
◎进入论坛Flash专栏版块参加讨论
|