Richard's Dancing Cube
/**
* Copyright Reaction.Gears ( http://wonderfl.net/user/Reaction.Gears )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/9Oxe
*/
package {
import flash.geom.Point;
import flash.filters.BlurFilter;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.TimerEvent;
import flash.utils.Timer;
import flash.display.Shape;
import flash.display.Sprite;
public class FlashTest extends Sprite {
private var _shape:Shape;
private var _timer:Timer;
private var _bmd:BitmapData;
private var _bf:BlurFilter;
private var _pt:Point;
private var _rad:int;
public function FlashTest() {
// write as3 code here..
_pt = new Point();
_bf = new BlurFilter(15,15);
_bmd = new BitmapData(stage.stageWidth, stage.stageHeight, false, 0xffffff);
addChild(new Bitmap(_bmd));
_rad = 200;
_shape = new Shape();
draw();
addChild(_shape);
_timer = new Timer(23);
_timer.addEventListener(TimerEvent.TIMER, loop);
_timer.start();
}
private function draw():void{
with(_shape.graphics){
clear();
beginFill(0xfffffff*Math.random());
drawRect(0,0,40,40);
}
}
private function loop(e:TimerEvent):void{
var _tc:int = _timer.currentCount;
_shape.y = Math.sin(_tc /5)*100 +100;
_shape.x = Math.tan(_tc/30)*50 + 150;
_shape.rotation++;
_bmd.draw(this);
if(_tc % 50== 0){
draw();
}
_bmd.applyFilter(_bmd, _bmd.rect, _pt, _bf);
_bmd.scroll(-1,1);
e.updateAfterEvent();
}
}
}