代碼&Demo原作者是:Ric Ewing,Robert Penner, Eric Mueller and Michael。
原來是ActionScript 1的,在AS2中使用不太方便。于是黑羽動手改寫了一下,寫成了ActionScript 2.0的類。在AS2中使用簡單方便,直觀。
昨晚整理了一下,寫了API注解,今天放上來。 Tips:除了用來直接繪制圖形外,更可以使用這些高級圖形做各種復(fù)雜的Mask,(有的可以做Guide),視覺效果非常棒。
Demo:
點擊下載ActionScript 2.0 高級繪圖工具類
安裝:解壓縮,雙擊mxp文件,即可安裝好。
下載安裝后,使用方法如下:
1. 導(dǎo)入類 (如果不懂什么是導(dǎo)入類,也沒有關(guān)系。 只要知道要用GraphicTools時,一定要先寫這一句。如果是在幀中,最好寫在第一句;在類文件中也寫在類聲明前面。 只寫一次即可。) import org.kingda.graphics.GraphicTools;
2. 給GraphicTools一個目標(biāo)MC,然后設(shè)定相關(guān)圖形的參數(shù)即可:
//比如說,我創(chuàng)建一個空的MC,d_mc。當(dāng)然你也可以直接指定已有的mc給GraphicTools d_mc = _root.createEmptyMovieClip("drawing_layer", 2);
//以下兩行是設(shè)定繪制圖形的線條樣式,和填充色。這個隨便你寫。 d_mc.lineStyle(2,0x6688AA); d_mc.beginFill(0x3366,25);
//使用drawPoly畫一個多邊形,參數(shù)的意思看我的API解釋 GraphicTools.drawPoly(d_mc,150,75,8,80,30);
//結(jié)束填充,大功告成 d_mc.endFill();
如蒙裝載,請標(biāo)注我的Blog鏈接,黑羽翔天Blog,便于日后升級版本添加功能時,閃友們能到我網(wǎng)站來及時更新。
3.API
//畫扇形 // target_mc是目標(biāo)MovieClip。 設(shè)定后,GraphicTools就在其中畫圖了。 // x,y 是畫筆起點在target_mc中的相對坐標(biāo) //startAngle:開始角度。 // arc: 扇形的度數(shù)。當(dāng)然不能大于360度。 // raduius: 扇形所處圓的半徑 // yraduius: 如果不填,那么就默認(rèn)和半徑一樣。填了,就是縱軸半徑長度。畫出橢圓形的扇形。 GraphicTools.drawPie(target_mc:MovieClip, x:Number, y:Number, startAngle :Number, arc :Number, radius :Number, yRadius :Number)
//畫矩形 //cornerRadius:是畫圓角矩形用的,指定圓角的半徑,默認(rèn)為0 GraphicTools.drawRect(target_mc:MovieClip, x:Number , y:Number, w:Number , h:Number, cornerRadius:Number)
//畫弧線 //與扇形大致相同,返回一個Object,里面是畫線后畫筆所在坐標(biāo) 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指初始多邊形轉(zhuǎn)動角度,默認(rèn)為0
GraphicTools.drawPoly(target_mc:MovieClip, x:Number, y:Number, sides:Number, radius:Number, angle:Number)
//畫星形 //innerRadius:頂點到內(nèi)頂點的距離 //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 是起點坐標(biāo) // end x,y 是終點坐標(biāo) //len是點狀線的點長度 //gap是點和點之間的距離 GraphicTools.dashTo(target_mc:MovieClip, startx:Number, starty:Number, endx:Number, endy:Number, len:Number, gap:Number)
//畫齒輪 //holeSides是齒孔形狀的邊數(shù) //holeRadius是中心到齒孔頂點的距離 GraphicTools.drawGear(target_mc:MovieClip, x:Number, y:Number, sides:Number, innerRadius:Number, outerRadius:Number, angle:Number, holeSides:Number, holeRadius:Number)
出處:藍(lán)色理想
責(zé)任編輯:藍(lán)色月光
◎進(jìn)入論壇Flash專欄版塊參加討論
|