flash on 2010-7-18
♥0 |
Line 57 |
Modified 2010-07-18 13:27:49 |
MIT License
archived:2017-03-20 13:25:59
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);
}
}