1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
class drawPolygon{
private static var angle:Number;
private static var mcW:Number;
private static var mcH:Number;
private static var xPos:Number;
private static var yPos:Number;
private static var mc:MovieClip;
private static var mcName:String;
private static var mcDepth:Number;
/**********************
* cible - movie clip where the polygon will be drawn
* n - name of the new clip created
* d - depths of the new clip created
* w - width of the polygon
* h - height of the polygon
* a - angle of the round corner
* xp - x position of the polygon
* yp - y position of the polygon
************************/
public function drawPolygon(cible:MovieClip,n:String,d:Number,w:Number,h:Number,a:Number,xp:Number,yp:Number){
mc = cible;
mcName = n;
mcDepth = d;
mcW = w;
mcH = h;
angle = a;
if ((angle*2) > mcH) var angle = mcH / 2;
xPos = xp;
yPos = yp;
trace(mc +" - "+ mcName +" - "+ mcDepth +" - "+ mcW +" - "+ mcH +" - "+ angle +" - "+ xPos +" - "+ yPos);
makePolygon();
}
private function makePolygon():Void{
var clip = mc.createEmptyMovieClip(mcName,mcDepth);
with(clip){
lineStyle( 2, 0x00CCFF, 50 );
beginFill( 0xFFCC00 );
moveTo(xPos,yPos);
curveTo(xPos-angle,yPos,xPos-angle,yPos+angle);
lineTo(xPos-angle,mcH+yPos-angle);
curveTo(xPos-angle,mcH+yPos,xPos,mcH+yPos);
lineTo(xPos+mcW-angle,mcH+yPos);
curveTo(xPos+mcW,mcH+yPos,xPos+mcW,mcH+yPos-angle);
lineTo(xPos+mcW,yPos+angle);
curveTo(xPos+mcW,yPos,xPos+mcW-angle,yPos);
endFill();
}
}
} |
Partager