WEB开发网
开发学院图形图像Flash Flash 8 运动模糊 阅读

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;//使用

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源文件下载

上一页  1 2 3 4 5 6 

Tags:Flash 运动 模糊

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接