Flash 8 运动模糊
2007-01-04 10:58:41 来源:WEB开发网Ok. 下面是全部的代码:
代码://导入滤镜类
import flash.filters.*;
//创建BlurFilter类的实例
var blur:BlurFilter = new BlurFilter(blurX, blurY, 1);
//定义要复制的总数
var num = 30;
//使用for循环开始复制
for (var i = 0; i<num; i++) {
//设定随机缩放
scale = random(300);
//设定随机的_alpha透明度
alpha = random(10000/scale)+40;
//使用attachMovie将库中的ball贴加到场景中,同时定义一个引用名为temp_mc.
var temp_mc = attachMovie("ball", "ball"+i, i);
//指定temp_mc的属性值.
with (temp_mc) {
_x = random(Stage.width);
_y = random(Stage.height);
_xscale = scale;
_yscale = scale;
_alpha = alpha;
}
//针对temp_mc使用onEneterFrame进行循环以使所有的园环沿着光标的反向移动
temp_mc.onEnterFrame = function() {
Yspeed = (Stage.height/2-_ymouse)/this._yscale*12;
Xspeed = (Stage.width/2-_xmouse)/this._xscale*12;
//定义blur.blurX和blur.blurY的值,这个值是根据上面的Xspeed和Yspeed的变化而变化的.
blur.blurX = Math.abs(Xspeed);
blur.blurY = Math.abs(Yspeed);
//指定应用滤镜
this.filters = [blur];
//x,y方向的移动和条件限制
this._y += Yspeed;
if (this._y>Stage.height) {
this._y = 0;
}
if (this._y<0) {
this._y = Stage.height;
}
this._x += Xspeed;
if (this._x>Stage.width) {
this._x = 0;
}
if (this._x<0) {
this._x = Stage.width;
}
};
//trace(temp_mc);
}
7.现在就可以测试你的影片了.你就可看到你想要的效果了.motionblur.需要注意的是我们在创建blur:BlurFilter = new BlurFilter(blurX,blurY,1)时,其中最后的参数1,是blur的质量,这里的建议最佳值是1,当设为2或3时,运动会有不流畅的感觉.它会吃掉你大量的cpu.
ps by egoldy:我们学习使用attachMoive复制影片剪辑,以及如何使用鼠标控制影片剪辑的移动,以及将模糊滤镜应用到actionscript 运动的影片剪辑上.以实现你要的效果.通过以上的例子,你可以举一反三,只要掌握了应用滤镜和如何变化它们的参数,可以制作出各种各样的模糊效果.在应用其它滤镜时思路上也基本上是大同小异的。
FLA源文件下载
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接