Advanced Masks
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
public class Main extends Sprite
{
private var maskingSprite:Sprite = new Sprite();
private var maskedSprite:Sprite = new Sprite();
private var maskHolder:Sprite = new Sprite();
public function Main()
{
stage.scaleMode = "noScale";
stage.align = "TL";
maskedSprite.graphics.beginFill(0xFFCC00, 1);
maskedSprite.graphics.drawRect(0, 0, 1000, 600);
maskedSprite.graphics.lineStyle(20, 0x000000);
maskedSprite.graphics.lineTo(1000, 600);
maskedSprite.graphics.moveTo(1000, 0);
maskedSprite.graphics.lineTo(0, 600);
addChild(maskedSprite);
maskHolder.graphics.beginFill(0x000000, 1);
maskHolder.graphics.drawRect(0, 0, 120, 120);
maskingSprite.graphics.beginFill(0x000000, 1);
maskingSprite.graphics.drawRect(0, 0, 100, 100);
maskingSprite.graphics.endFill();
addChild(maskingSprite);
maskedSprite.addEventListener(MouseEvent.MOUSE_DOWN, dragMask);
maskedSprite.addEventListener(MouseEvent.MOUSE_UP, stopDragMask);
maskedSprite.mask = maskingSprite;
}
private function dragMask(mouseEvent:MouseEvent):void
{
trace(" drag ");
maskingSprite.startDrag();
}
private function stopDragMask(mouseEvent:MouseEvent):void
{
maskingSprite.stopDrag();
}
}
}
Related examples in the same category