flash on 2013-5-22

by hemingway
♥0 | Line 80 | Modified 2013-05-22 03:00:02 | 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/sAH7
 */

package {
    import flash.display.*;
    import flash.events.*;
    
    [SWF(frameRate=60, width=465, height=465)]
    public class Demo extends Sprite
    {
        public function Demo()
        {
            addChild(new CustomFrame(5, 5));
            for (var $:int = 0; $<8; $++)
            {
                addChild(new ImageItem(400, 5 + ($*50)));
            }            
        }
    }
}
import flash.utils.Proxy;

import flash.display.*;
import flash.events.*;
import flash.geom.*;

class ImageItem extends Sprite
{
    private var prevMouse :Point = new Point();
    private var currentMouse :Point = new Point();
    private var calcMouse :Point = new Point();
    
    public function ImageItem($x:Number, $y:Number)
    {
        x = $x;
        y = $y;
        
        graphics.lineStyle(1);
        graphics.beginFill(0xdcdcdc);
        graphics.drawRect(0, 0, 40, 40);
        graphics.endFill();
        
        addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
    }
    
    private function onMouseDown($e:MouseEvent) :void
    {
        prevMouse = new Point($e.stageX, $e.stageY);
        
        stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
        stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
    }
    
    private function onMouseMove($e:MouseEvent) :void
    {
        currentMouse = new Point($e.stageX, $e.stageY);
        calcMouse = (currentMouse.subtract(prevMouse));
        
        x += calcMouse.x;
        y += calcMouse.y;
        
        prevMouse = currentMouse;
    }
    
    private function onMouseUp($e:MouseEvent) :void
    {
        stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
        stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);
    }
}

class CustomFrame extends Sprite
{
    private var sectionA :Array;
    private var sectionB :Array;
    private var sectionC :Array;
    private var sectionD :Array;
    private var sectionE :Array;
    private var sectionF :Array;
    private var sectionG :Array;
    private var sectionH :Array;
    
    public function CustomFrame($x:Number, $y:Number)
    {
        x = $x;
        y = $y;
        
        sectionA = [new Point(0, 0), new Point(100, 100)];
        sectionB = [new Point(100, 0), new Point(100, 100)];

        graphics.lineStyle(1);
        graphics.drawRect(0, 0, 380, 390);
        graphics.drawRect(sectionA[0].x, sectionA[0].y, sectionA[1].x, sectionA[1].y);
        graphics.drawRect(sectionB[0].x, sectionB[0].y, sectionB[1].x, sectionB[1].y); 
    }
    
    private function determineSection() :void
    {
        
    }
}