August 24, 2006

【黑羽】AS2高级绘图工具类下载

ActionScript3天地会公测中...

代码&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)

广告:哈哈,现在刚好是阿里妈妈推广期哦,你是站长吗?推荐注册阿里妈妈赚广告费

TrackBack

TrackBack URL for this entry:
http://www.kingda.org/mt/mt-tb.cgi/96

Comments (14)

vkt:

做了个画图,就是不知道怎么做油漆桶填色,怎么判断封闭图形?

whohoo:

我前不久也曾改过,跟你的一样.
我的下载地址[http://www.wlash.com/CODE/AS2/com/idescn/draw/ExShape.as]

whohoo:

我前不久也曾改过,跟你的一样.
我的下载地址[http://www.wlash.com/CODE/AS2/com/idescn/draw/ExShape.as]

太好了,赫赫~~

有了Thor的GDI,又有了黑宇的GDI……
我再也不写GDI了~~哈哈,hiahia

lzyy:

好东西,收了,3x!

to whohoo
果然大同小异。^_^
还有其他有趣的绘图函数吗?

to aw:
Thor的GDI在哪儿啊?
发个链接过来see see ^_^

to vkt
不封闭也是可以填充色的。
具体演示Flash帮助有。

N神:

直接发class多好,mxp这东西装完类被塞到哪里了?找都找不到

如果看一下Rebert Penner的《flash编程创意与实现》的话,我想会做出来更好的东西的。

to vkt
这个只是思路的问题
http://bbs.51js.com/viewthread.php?tid=59918&fpage=1
这个是以前写着玩的。
to 黑羽
http://flash.pallove.net/flash/download/classes/thor.rar
地址下载

晕,评论信息没有存下来,奇怪,再来
如果看过Robert Penner的《flash编程创意与实现》的话,我想写出来的东西会更加好。
to:vkt
不封闭的话,要记住起始点,然后自动闭合
http://bbs.51js.com/viewthread.php?tid=59918
以前写的例子
to:黑羽
http://flash.pallove.net/flash/download/classes/thor.rar
下载地址

to 逍遥云
thx,thor的东东我下下来了。除了GDI还有一些其他有用的东东吗。呵呵

不错啊,很喜欢你的图形类,不过感觉有些怪异的形状,在RIA应用中很少用的样子,呵呵

tween:

en,能否给出类文件呢

留下高见,发表评论

个人信息不会外泄,请放心填写。

姓名和Email必填。

发表评论后,请耐心等待,不要频繁刷新。提交完成后,刷新一下本页即可看到您的评论。^_^

请输入验证字符"l" :
文字广告:你是站长吗?注册阿里妈妈赚广告费

最近发表

归档

全部
Creative Commons License
此 Blog 中的日记
遵循以下授权:
Creative Commons
(创作共用) 授权
.
Google PageRank
本站被Adobe官方MXNA新闻聚合器收录
本站被蓝色理想BXNA收录