Foundation ActionScript 3.0 Image Effects 1

by mirrorboy
♥0 | Line 43 | Modified 2012-01-25 02:48:16 | MIT License
play

ActionScript3 source code

/**
 * Copyright mirrorboy ( http://wonderfl.net/user/mirrorboy )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/sXUa
 */

package
{
    import flash.display.BitmapData;
    import flash.display.Shape;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    
    public class DrawingBitmapStrokes extends Sprite
    {
        
        
        public function DrawingBitmapStrokes()
        {
            stage.addEventListener(MouseEvent.MOUSE_DOWN,onStageMouseDown);
            stage.addEventListener(MouseEvent.MOUSE_UP,onStageMouseUp);
            
        }
        
        private function createBrushStroke():void{
            var radius:uint = Math.random() * 10 + 2;
            var diameter:uint = radius * 2;
            var shape:Shape = new Shape();
            shape.graphics.beginFill(Math.random() * 0xFFFFFF);
            shape.graphics.drawCircle(radius,radius,radius);
            shape.graphics.endFill();
            
            var brushStroke:BitmapData = new BitmapData(diameter,diameter,true,0x00000000);
            brushStroke.draw(shape);
            graphics.lineStyle(diameter);
            graphics.lineBitmapStyle(brushStroke);
        }
        
        private function onStageMouseDown(event:Event):void
        {
            createBrushStroke();
            graphics.moveTo(stage.mouseX,stage.mouseY);
            stage.addEventListener(MouseEvent.MOUSE_MOVE,onStageMouseMove);
        }
        
        private function onStageMouseUp(event:MouseEvent):void
        {
            stage.removeEventListener(MouseEvent.MOUSE_MOVE,onStageMouseMove);
        }
        
        private function onStageMouseMove(event:MouseEvent):void
        {
            graphics.lineTo(stage.mouseX,stage.mouseY);
            event.updateAfterEvent();
        }
    }
}