function drawRoundRect(w ,h, tl, tr, bl, br, thick, borderColor, bgColor, trans) {
var rect:Shape = new Shape();
if (thick != 0) rect.graphics.lineStyle(thick, borderColor);
rect.graphics.beginFill(bgColor, trans);
rect.graphics.moveTo( 0, tl );
rect.graphics.curveTo( 0, 0, tl, 0 );
rect.graphics.lineTo(w - tr, 0);
rect.graphics.curveTo( w, 0, w, tr );
rect.graphics.lineTo(w, h - br);
rect.graphics.curveTo( w, h, w - br, h );
rect.graphics.lineTo(bl, h);
rect.graphics.curveTo( 0, h, 0, h - bl );
rect.graphics.endFill();
return rect;
}
var rv = drawRoundRect(200, 300, 5, 45, 0, 15, 0, 0x990099, 0xFF0000, 1);
addChild(rv);
Refs:
http://snipplr.com/view/21040/
http://stackoverflow.com/questions/1129682/tweening-a-rounded-rectangle-in-actionscript-3 (about distortion of round corner rectangle)
http://www.flepstudio.org/forum/tutorials/990-drawing-polygons-actionscript-3-0-a.html (a custom class)