flash on 2010-7-18

by hacker_szoe51ih
♥0 | Line 57 | Modified 2010-07-18 13:27:49 | MIT License
play

ActionScript3 source code

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

package {
    import flash.geom.*;
    import flash.filters.*;
    import flash.display.AVM1Movie;
    import flash.events.MouseEvent;
    import flash.events.Event;
    import flash.geom.PerspectiveProjection;
    import flash.display.*;
    public class Perspective extends MovieClip {

        public var p:Particle;
        public var dropFilter:DropShadowFilter;
        public var W:Number = stage.stageWidth;
        public var H:Number = stage.stageHeight;
        public var centerX:Number = W / 2;
        public var centerY:Number = H / 2;
        public var pArray:Array;
        public var filterArray:Array;
        public var atPerspectiveProjection:PerspectiveProjection;
        public var atFieldOfView:Number;


        public function Perspective() {

            pArray=new Array();
            filterArray=new Array();
            dropFilter=new DropShadowFilter(6,120,0xcccccc,0.6,10,10);

            atPerspectiveProjection = root.transform.perspectiveProjection;
            atFieldOfView = atPerspectiveProjection.fieldOfView;

            for (var i:int=0; i<5; i++) {

                p = new Particle(Math.random() * 0xffffff,50);
                
                filterArray=p.filters;
                filterArray.push(dropFilter);
                
                p.x = centerX;
                p.y = centerY;
                p.z=i*100
                
                p.filters=filterArray;

                pArray.push(p);
                addChild(pArray[i]);

            }




            stage.addEventListener(Event.ENTER_FRAME,enterframer);

        }

        public function enterframer(e:Event):void {
            atPerspectiveProjection.projectionCenter = new Point(mouseX,mouseY);
            /*var newFieldOfView:Number=0;
            newFieldOfView=170;
            atFieldOfView = Math.max(Math.min(179,newFieldOfView),1);*/
            //atPerspectiveProjection.focalLength = Math.floor(Math.random() * 180) + 1;


            trace("atPerspectiveProjection.projectionCenter.x=="+atPerspectiveProjection.projectionCenter.x);
            trace("atFieldOfView=="+atFieldOfView);
        }




    }
}

import flash.display.*;
class Particle extends Sprite {

    public var p:Sprite;

    public function Particle(col:uint,r:Number):void {

        p=new Sprite();
        p.graphics.beginFill(col);
        p.graphics.lineStyle();
        p.graphics.drawCircle(0,0,r);
        p.graphics.endFill();
        addChild(p);

    }
}

Forked