ドットを描いて、一瞬前のマウス座標まで線を引きました

by ysissy
ドットを描いて、一瞬前のマウス座標まで線を引きました
♥0 | Line 43 | Modified 2012-11-25 03:45:37 | MIT License
play

ActionScript3 source code

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

package  {

    

    import flash.display.Sprite;
    import flash.events.Event;
    import flash.ui.Mouse;
    import flash.display.BitmapData;
    import flash.display.Bitmap;
    import flash.events.MouseEvent;
    import flash.geom.Point;
    

    public class LineDraw extends Sprite {
        

            public var drawing : Sprite = new Sprite();
            public var drawBitmap : BitmapData = new BitmapData(1024, 640,true, 0xff0000);
            public var canvasBitmap : Bitmap;
                                                                                        /*            var pnt : Point;*/
            public  var preMouX : Number = mouseX;
            public var preMouY : Number = mouseY;

       public function LineDraw() {

            ////// マウスを非表示
            Mouse.hide();


            ////// 描画

            drawing.addEventListener(Event.ENTER_FRAME, DoEnterFrame);
            canvasBitmap = new Bitmap(drawBitmap);
            stage.addEventListener(MouseEvent.MOUSE_DOWN, RunMouseFrame);            
            stage.addEventListener(MouseEvent.MOUSE_UP, StopMouseFrame);            

            addChild (drawing);    
            addChild (canvasBitmap);
        }
        
        
        
       public  function DoEnterFrame ( e : Event) : void {

            //////  円を描画
            drawing.graphics.clear();
            drawing.graphics.beginFill(0x000000,0.5);
            drawing.graphics.drawCircle(mouseX,mouseY,5);
            drawing.graphics.lineStyle(2);
            drawing.graphics.lineTo(preMouX,preMouY);
            
            ////// 今のマウス座標を格納
            preMouX = mouseX;
            preMouY = mouseY;

                                                                                        /*            ///// 周りの点
                                                                                                    pnt = new Point(mouseX - Math.random()*15,mouseY - Math.random()*15 );
                                                                                                    drawing.graphics.lineStyle(2);
                                                                                                    drawing.graphics.lineTo( pnt.x,pnt.y);*/

        }


        public function RunMouseFrame ( event : MouseEvent) : void {    
            canvasBitmap.addEventListener(Event.ENTER_FRAME, DoBitmapFrame);
        }

        public function StopMouseFrame ( event : MouseEvent) : void {    
            canvasBitmap.removeEventListener(Event.ENTER_FRAME, DoBitmapFrame);
        }

        public function DoBitmapFrame ( e : Event) : void {
            drawBitmap.draw(drawing);
        }
    }
}