ActionScript Drag and Drop Display Objects With Mask And Filter?
- by TheDarkIn1978
i've created a sprite to drag and drop around the stage. the sprite is masked and has it's mask as it's child so that it too will drag along with the sprite. everything works fine until i add a drop shadow filter to the sprite. when the drop shadow is added, i can only mousedown to drag and mouseup to drop the sprite if the mouse events occur within the original location of the sprite when it was added to the stage.
how can i fix this problem? could this be an issue with 10.1? if not what am i doing wrong?
var thumbMask:Sprite = new Sprite();
thumbMask.graphics.beginFill(0, 1);
thumbMask.graphics.drawRoundRect(0, 0, 100, 75, 25, 25);
thumbMask.graphics.endFill();
var thumb:Sprite = new Sprite();
thumb.graphics.beginFill(0x0000FF, 1);
thumb.graphics.drawRect(0, 0, 100, 75);
thumb.graphics.endFill();
thumb.addEventListener(MouseEvent.MOUSE_DOWN, drag);
thumb.addEventListener(MouseEvent.MOUSE_UP, drop);
thumb.filters = [new DropShadowFilter(0, 0, 0, 1, 20, 20, 1.0, 3)];
thumb.addChild(thumbMask);
thumb.mask = thumbMask;
addChild(thumb)
function drag(evt:MouseEvent):void
{
evt.target.startDrag();
trace("drag");
}
function drop(evt:MouseEvent):void
{
evt.target.stopDrag();
trace("drop");
}