Flash 8 运动模糊
2007-01-04 10:58:41 来源:WEB开发网在这两行代码中,分别定义为x,y方向上的速度, 以屏幕为中心开始,计算鼠标与中心的距离,当光标与中心的位置越远时, Stage.height/2-_ymouse计算的值就越大,反之则越小,这样Xspeed和Yspeed的值就会有一个大小的和方向的变化,因为_xmouse,和_ymouse是有正负之分的,同时我们还发现在缓动设定缓动系数时,我们使用this._xscale和this._yscale做被除数,因为这两个值是随机的,同样会反映出如出Xspeed和Yspeed的大小之分,这也意味着,如果园环被缩放的很小,那么它的移动速度也是很快的.反之移动速度就会较慢.ok.如果你理解了这两句,其它的代码,除了this._x+=Xspeed和this._y+=Yspeed是用来移动园环外,其它均为限制园环的边界的.
6.现在我们已经成功的复制和控制了园环的移动.接下来我们要加入flash8的模糊滤镜以达到运动模糊的效果.打开actionscript面板,在原有代码的基础上修改.
我们在最前端添加两行.
先导入flash8的滤镜类
代码:import flash.filters.*
然后我们创建模糊滤镜的实例
代码:var blur:BlurFilter = new BlurFilter(blurX,blurY,1);
ok.创建完成后,我们注意到,在创建实例时并没有指定blurX,blurY的具体值的大小,因为它是变化,我们并不在这里指定.
接下来我们在Xspeed和Yspeed两行代码的后端加入三行代码:如下
代码://定义blur.blurX和blur.blurY的值,这个值是根据上面的Xspeed和Yspeed的变化而变化的.
blur.blurX = Math.abs(Xspeed);
blur.blurY = Math.abs(Yspeed);
//指定应用滤镜
this.filters = [blur];
前两行我们分别设定blur.blurX和blur.blurY的大小,第三行是针对temp_mc应用滤镜,其中的this便是指temp_mc.另外一点,因为Xspeed和Yspeed的是大小变化的,所以这也正是我们想要的,它也会使blur.blurX和blur.blurY随着速度的变化而变化,因为blurFilter的滤镜的blurX,blurY最小值不能小于1.而Xspeed和Yspeed是有正负之分的,所以我们要为它们增加Math.abs取他们的绝对值,以保证blurFilter的有效.
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接