先看效果:
分析代码:
//一开始要导入一个Tweener包,
//这个包在国外非常流行啦,
//可以去http://code.google.com/p/tweener
//下载
import caurina.transitions.*;
//定义2个变量,分别代表场景的宽和高
var stageWidth:int = stage.stageWidth;
var stageHeight:int = stage.stageHeight;
//加载一个跟场景一般大小的位图
var bmd:BitmapData = new BitmapData(stageWidth,stageHeight,true,0x000000);
var bm:Bitmap = new Bitmap(bmd);
addChild(bm);
//从库里加载"logo",这个是在库里面先定义好的
var logo:myLogo = new myLogo();
addChild(logo);
//这里使用了Tweener类,可以读解为:
//对"logo"添加动画,使其在1秒钟内(x,y)坐标移动至场景内的随机一点,并随机旋转(0~360)度。默认缓冲动画效果。
//当动画结束后,自动加载loop方法(即再次执行loop)
function loop():void {
Tweener.addTween(logo, {x:Math.random()*stageWidth,y:Math.random()*stageHeight,
rotation:Math.random()*360,time:1,onComplete:loop});
}
loop();
//效果的要害:
//每一帧都将当前的场景描绘为位图,并加载模糊滤镜。
addEventListener(Event.ENTER_FRAME, burnLogo);
function burnLogo(e:Event):void {
bmd.draw(this);
bmd.applyFilter(bmd,bmd.rect,new Point(0,0),new BlurFilter(8,8,3));
}
呵呵...完成。希望大家都能做出酷酷的效果~~
进入论坛和作者讨论学习:
http://space.flash8.net/bbs/thread-351372-1-1.html