попытка ответа 2
Для этого можно использовать свойство blendMode экранного объекта.Вот код (проверено):
// set the eraser width (diameter)
var eraserWidth:int = 20;
//get the HomeMask library item
var homeMask:HomeMask = new HomeDrawBg();
homeMask.blendMode = BlendMode.LAYER;
addChild(homeMask);
// create the eraser shape
var eraser:Shape = new Shape();
eraser.graphics.beginFill(0x000000);
eraser.graphics.drawCircle(0,0,eraserWidth/2);
eraser.blendMode = BlendMode.ERASE;
homeMask.addChild(eraser);
homeMask.addEventListener(MouseEvent.MOUSE_MOVE,mouseOverMask);
function mouseOverMask(evt:MouseEvent):void
{
eraser.x = homeMask.mouseX;
eraser.y = homeMask.mouseY;
}
Здесь есть пара важных битов.
Во-первых, вы должны установить для blendMode того, что вы хотите стереть, значение BlendMode.LAYER
.
Во-вторых (и это меня обмануло раньше), ваш ластик, с помощью BlendMode.ERASE
,должно быть потомком объекта, который вы хотите стереть.