flash on 2012-11-4

by hemingway
♥0 | Line 95 | Modified 2012-11-06 02:53:14 | MIT License
play

ActionScript3 source code

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

package
{
    import flash.display.*;
    import flash.events.*;
    import flash.geom.*;
    import flash.net.*;
    
    [SWF(frameRate = 60, width = 640, height = 480)]
    public class Main extends Sprite
    {
        public var stageWidth  :Number = 640 ;
        public var stageHeight :Number = 480 ;
        
        public var canvas :BitmapData = new BitmapData((stageWidth - 1), (stageHeight - 2));
        public var node   :Node;
        
        internal var canvasPointer :Bitmap;
        
        //internal var firstPoint   :Point;
       // internal var currentPoint :Point;
       // internal var calcPoint    :Point;
        
        public function Main()
        {    
            addEventListener(Event.ADDED_TO_STAGE, addedToStage);
        
            stage.scaleMode = StageScaleMode.NO_SCALE;
            
            _init();
        }
        
        public function _init() :void
        {
            var canvasTemp :Bitmap;
            
            addChild(canvasTemp = new Bitmap(canvas.clone()));
                   
            canvasPointer = canvasTemp;    
            canvasPointer.y = 1;
            
            canvasPointer.bitmapData.setPixel(40, 30, 0);
            canvasPointer.bitmapData.setPixel(42, 30, 0);
            canvasPointer.bitmapData.setPixel(44, 30, 0);
            canvasPointer.bitmapData.setPixel(46, 30, 0);
            canvasPointer.bitmapData.setPixel(46, 32, 0);
            canvasPointer.bitmapData.setPixel(46, 34, 0);
            canvasPointer.bitmapData.setPixel(46, 36, 0);
            canvasPointer.bitmapData.setPixel(44, 36, 0);
            canvasPointer.bitmapData.setPixel(42, 36, 0);
            canvasPointer.bitmapData.setPixel(40, 36, 0);
            canvasPointer.bitmapData.setPixel(40, 34, 0);
            canvasPointer.bitmapData.setPixel(40, 32, 0);
            
            graphics.clear      ();
            graphics.lineStyle  (1, 0);
            graphics.drawRect   (0, 0, (stageWidth - 1), (stageHeight - 1));
            graphics.endFill    ();
        }
        
        public function addedToStage($e:Event) :void
        {
            removeEventListener(Event.ADDED_TO_STAGE, addedToStage);
               
            addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
        }
        
        public function onMouseDown($e:MouseEvent) :void
        {
            //firstPoint = new Point($e.stageX, $e.stageY);

            stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
            stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
        }
       
        public function onMouseMove($e:MouseEvent) :void
        {
            stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);   
            
           // currentPoint = new Point($e.stageX, $e.stageY);
           // calcPoint = Point(currentPoint.subtract(firstPoint));
            
           // firstPoint = currentPoint;
        }

        public function onMouseUp($e:MouseEvent) :void
        {
            stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);
        }
    }
}

import flash.display.*;
import flash.events.*;
import flash.net.*;

class Node extends Sprite
{
    protected var _x:Number;
    protected var _y:Number;
    protected var _w:Number;
    protected var _h:Number;
    protected var _a:Number;
    protected var _c:Number;
    
    public function Node($x:Number, $y:Number, $a:Number = 0.5, $c:Number = 0)
    {
        addEventListener(Event.ADDED_TO_STAGE, addedToStage);
        
        _x = $x;
        _y = $y;
        _a = $a;
        _c = $c;
    }
    
    public function _init() :void
    {
        graphics.clear     ();
        graphics.lineStyle (1, _c, 1);
        graphics.moveTo    (_x, _y);
        graphics.lineTo    (_x, _y);
    }
    
    public function addedToStage($e:Event) :void
    {
        removeEventListener(Event.ADDED_TO_STAGE, addedToStage);
        
        _init();
    }
}