flash on 2012-8-7

by leichtgewicht
♥0 | Line 85 | Modified 2012-08-07 13:33:22 | MIT License
play

Related images

ActionScript3 source code

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

package {
    import flash.text.TextFieldAutoSize;
    import flash.text.TextField;
    import flash.events.KeyboardEvent;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.net.URLRequest;
    import flash.display.Loader;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {


        private var _loader: Loader;
        private var _circles: Sprite;
        private var _out: TextField;
        
        private var _pos: Array = [{x:24,y:13},{x:73.25,y:5.25},{x:95.5,y:1.5},{x:119.75,y:3.5},{x:142.75,y:10.75},{x:189,y:11},{x:53.5,y:17.25},{x:162.75,y:20.25},{x:5.75,y:29.75},{x:39.5,y:32.75},{x:87.25,y:24.75},{x:111.75,y:25.5},{x:135.75,y:31},{x:181.75,y:33.75},{x:66.75,y:38.25},{x:159.25,y:42.25},{x:2,y:49.75},{x:23,y:48.75},{x:97.75,y:45.75},{x:121,y:50},{x:53.75,y:56.75},{x:143.5,y:57.25},{x:179,y:57.5},{x:78.75,y:60.75},{x:16,y:72.75},{x:36.5,y:69.5},{x:106.5,y:69.5},{x:128.25,y:74.75},{x:163.5,y:72.5},{x:196.25,y:78.25},{x:66,y:81},{x:47.25,y:90.5},{x:88.25,y:85.5},{x:147.25,y:87.25},{x:26.5,y:96.5},{x:112.75,y:93.5},{x:180,y:91},{x:7.75,y:100.75},{x:134.25,y:104.25},{x:164,y:105},{x:73.5,y:110.25},{x:96.25,y:110},{x:191.25,y:114.5},{x:53.25,y:115},{x:35,y:121.25},{x:119.25,y:119.25},{x:16,y:126.25},{x:149.5,y:122.5},{x:174,y:126.5},{x:87.25,y:134},{x:107.75,y:135},{x:64.75,y:139.25},{x:133.75,y:139},{x:197.75,y:140.25},{x:42.25,y:145},{x:157.75,y:144.25},{x:19.75,y:154},{x:181.25,y:152.25},{x:90,y:159},{x:114,y:158.5},{x:64.25,y:162.75},{x:139.25,y:163.75},{x:1.25,y:167.25},{x:41.5,y:168},{x:162.5,y:171.25},{x:19.25,y:180.75},{x:80.25,y:181.25},{x:103,y:180.25},{x:126.75,y:182},{x:185.75,y:182.75},{x:56.75,y:187},{x:148,y:189},{x:6,y:197.5},{x:38.5,y:197.75},{x:171.75,y:197.5}];
        
        public function FlashTest() {
            stage.scaleMode = StageScaleMode.NO_SCALE;
            stage.align = StageAlign.TOP_LEFT;
            addChild( _loader = new Loader()) ;
            _loader.scaleX = _loader.scaleY = FACTOR;
            
            _loader.load(
                new URLRequest(
                    "http://wonderfl.net/static/tmp/related_images/356fb957897514c7ef7478b5c17cf7361c083575m"
                ));
            
            stage.addEventListener(KeyboardEvent.KEY_DOWN, newCircle);
            addChild(_circles = new Sprite());
            addChild(_out = new TextField());
            
            for( var i: int = 0; i<_pos.length; ++i) {
                var circle: Circle = new Circle();
                var pos: * = _pos[i];
                circle.x = pos.x*FACTOR;
                circle.y = pos.y*FACTOR;
                _circles.addChild(circle);
            }

        }
        
        private function traceData():void {
            var result: String = "[\n";
            for(var i: int = 0; i<_circles.numChildren;++i) {
                var circle: Circle = _circles.getChildAt(i) as Circle;
                if( i != 0 ) {
                    result += ",\n";
                }
                result += "  {x:"+(circle.x/FACTOR)+",y:"+(circle.y/FACTOR)+"}";
            }
            result += "\n]";
            trace(result);
            _out.text = result;
            _out.autoSize = TextFieldAutoSize.LEFT;
        }

        
        
        private function newCircle(e: KeyboardEvent): void {
            if(e.keyCode==65) {
                var circle: Circle = new Circle();
                circle.x = stage.mouseX;
                circle.y = stage.mouseY;
                _circles.addChild(circle);
            } else if(e.keyCode==67) {
                traceData();
            }

        }

    }
}
import flash.events.MouseEvent;
import flash.display.Sprite;
import flash.display.Shape;

const FACTOR: Number = 4.0;

class Circle extends Sprite {
    public function Circle() {
        graphics.beginFill(0xFFFFFF, 0.4);
        graphics.lineStyle(1, 0);
        graphics.drawCircle(0, 0, 6*FACTOR);
        addEventListener(MouseEvent.MOUSE_DOWN, startDragging);
    }
    
    private function startDragging(e: MouseEvent): void {
        stage.addEventListener(MouseEvent.MOUSE_MOVE, move);
        stage.addEventListener(MouseEvent.MOUSE_UP, stopDragging);
    }
    
    private function move(e: MouseEvent): void {
        x = e.stageX;
        y = e.stageY;
    }

    
    private function stopDragging(e: MouseEvent): void {
        stage.removeEventListener(MouseEvent.MOUSE_MOVE, move);
        stage.removeEventListener(MouseEvent.MOUSE_UP, stopDragging);
    }
}

var trace: Function = Wonderfl.log;