/**
* Copyright bradsedito ( http://wonderfl.net/user/bradsedito )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/cx4A
*/
package
{
import flash.display.*;
import caurina.transitions.properties.*;
import net.hires.debug.Stats;
import flash.utils.setInterval;
import flash.filters.*;
import flash.geom.*;
[SWF(frameRate=100, backgroundColor=0x0)]
public class DepthField extends Sprite
{
public var canvas:Bitmap = new Bitmap(new BitmapData(stage.stageWidth,stage.stageHeight,false));
public function DepthField()
{
FilterShortcuts.init();
DisplayShortcuts.init();
CurveModifiers.init();
addChild(canvas);
setInterval(drawCanvas, 30);
for (var i:uint = 0; i<50; i++){
var f:Fooler = new Fooler();
addChild(f);
f.foolAround();
}
var s:Stats = new Stats();
addChild(s);
}
private function drawCanvas():void {
canvas.bitmapData.draw(this);
canvas.bitmapData.applyFilter(canvas.bitmapData, canvas.bitmapData.rect, new Point(0), new BlurFilter(0,0,1));
canvas.bitmapData.applyFilter(canvas.bitmapData, canvas.bitmapData.rect, new Point(),
new ColorMatrixFilter(
[ 2, 0, 0, 0, -60,
0, 2, 0, 0, -60,
0, 0, 2, 0, -60,
0, 0, 0, 1, 0
]));
}
}
}
import flash.display.*;
import caurina.transitions.Tweener;
class Fooler extends Sprite
{
private var tx:Number;
private var ty:Number;
private var tz:Number;
private var bx:Number;
private var by:Number;
private var bz:Number;
private var palette:Array = [0xCC0000, 0x000000,0x000000,0x000000,0x000000,0x000000];
// private var palette:Array = [0xCC0000, 0xffffff,0xffffff,0xffffff,0xffffff,0xffffff];
public static var foolers:Array = [];
function Fooler()
{
x = 0;
y = 0;
z = 0;
// x = Math.random()*400;
// y = Math.random()*400;
// z = Math.random()*1000;
alpha = 0;
draw();
foolers.push(this);
}
private function draw():void{
var g:Graphics = graphics;
g.beginFill(palette[Math.floor(palette.length)], 0.75);
var r:Number = 6;
g.drawCircle(0,0,r);
if (Math.random()<0.5) g.drawCircle(0,0,r+2);
g.endFill();
};
public function foolAround():void {
bx = Math.random()*stage.stageWidth;
by = Math.random()*stage.stageHeight;
// bz = Math.random()*1000;
tx = Math.random()*stage.stageWidth;
ty = Math.random()*stage.stageHeight;
// tz = Math.random()*1000;
Tweener.addTween(this,
{
x : tx,
y : ty,
z : tz,
_bezier : [{x:bx, y:by, z:bz}],
_scale : 0.5+(0.5*z),
alpha : 0.5+0(.5*z),
time : 15+Math.random()*5,
delay : Math.random()*1,
_Blur_blurX : Math.abs((0.35-z)*30),
_Blur_blurY : Math.abs((0.35-z)*30),
// _Blur_blurZ : Math.abs((0.75-z)*20),
_Blur_quality : 2,
transition : 'easeinoutquad',
onComplete : foolAround
});
}
}