forked from: forked from: Paint

by tkinjo forked from forked from: Paint (diff: 21)
...
@author tkinjo
♥0 | Line 41 | Modified 2009-11-29 14:44:13 | MIT License
play

ActionScript3 source code

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

// forked from tkinjo's forked from: Paint
// forked from tkinjo's Paint
package  
{
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.geom.Matrix;
    
    [SWF(width="465", height="465", backgroundColor="0xffffff", frameRate="60")] 
    /**
     * ...
     * @author tkinjo
     */
    public class Main extends Sprite
    {
        private var lineBitmapData:BitmapData;
        
        public function Main() 
        {
            // create lineBitmapData
            var lineBitmapDataCanvas:Sprite = new Sprite();
            lineBitmapDataCanvas.graphics.beginFill( 0x0 );
            lineBitmapDataCanvas.graphics.drawCircle( 0, 0, 5 );
            lineBitmapDataCanvas.graphics.endFill();
            
            var lineBitmapMatrix:Matrix = new Matrix();
            
            lineBitmapData = new BitmapData( 10, 10 );
            
            lineBitmapMatrix.translate( 5, 5 );
            lineBitmapData.draw( lineBitmapDataCanvas, lineBitmapMatrix );
            
            
            
            // add eventListener
            stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
            stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
            stage.addEventListener(MouseEvent.MOUSE_UP,   mouseUpHandler);
        }
        
        private function mouseDownHandler( event:MouseEvent ):void {
            
            graphics.lineStyle( 10 );
            graphics.lineBitmapStyle( lineBitmapData );
            
            graphics.moveTo( event.stageX, event.stageY );
        }
        
        private function mouseMoveHandler( event:MouseEvent ):void {
            
            if ( !event.buttonDown )
                return;
            
            graphics.lineTo( event.stageX, event.stageY );
        }
        
        private function mouseUpHandler( event:MouseEvent ):void {
            
            graphics.lineStyle();
        }
    }
}