package { import flash.display.Graphics; import flash.display.Shape; import flash.display.Sprite; import flash.geom.Point; //draw half circle of Eclipse public class ClipMask extends Sprite { public function ClipMask() { var p1:Point=new Point(10,50); var w:Number=100; var h:Number=50; var shape:Shape=new Shape(); addChild(shape); var g:Graphics=shape.graphics; g.lineStyle(1,0x000000); g.drawEllipse(p1.x, p1.y,w,h); var mask:Shape=createMask(p1,w,h/2); addChild(mask); shape.mask=mask; } public static function createMask(p1:Point, w:Number, h:Number):Shape { var sprite:Shape=new Shape(); var g:Graphics=sprite.graphics; g.beginFill(0xff0000,1); //has to fill, but the color does not matter g.drawRect(p1.x, p1.y,w,h); g.endFill(); return sprite; } } }