发新话题
打印

[原创]利用AS做图像模糊效果的最简教程

本帖已经被作者加入个人空间

[原创]利用AS做图像模糊效果的最简教程

放小假了,在家没事,玩flash8。原来在MX时代要做模糊效果比较麻烦,现在有了FLASH8,可供制作模糊的方法多了.今天利用AS做了一个模糊效果,自我感觉还不错.
[swf] 图片模糊显示0.swf (82.27 KB) [/swf]
而且比较简单。我是这样做的,导入两张图片,转它们为电影元件,库中的链接名分别取mc1、mc2,(见图1.jpg和2.jpg)
[img] [/img]
[img] [/img]
主场景有两帧,第一帧上的as如下:
//...........................以下留下本人标记,并且也运用了滤镜语句................................
this.createTextField("myTextField", this.getNextHighestDepth(), 2, 280, 100, 280);
myTextField.wordWrap = true;
var my_fmt:TextFormat = new TextFormat();
my_fmt.color = 0xFFFFFF;
myTextField.text = "powered by sxl001";
myTextField.setTextFormat(my_fmt);
var myDropFilter = new flash.filters.DropShadowFilter();
var myFilters:Array = myTextField.filters;
myFilters.push(myDropFilter);
myTextField.filters = myFilters;
//......................................................................................................
//...........以下图片滤镜语句...................................................................
var i:Number = 50;
_root.attachMovie("mc1", "mm1", -1);
this.onEnterFrame = function():Void  {//模糊到清楚,同时增加动态效果
i -= 2;
var bf:flash.filters.BlurFilter = new flash.filters.BlurFilter();
bf.blurX = bf.blurY=i;
bf.quality = 3;
with (mm1) {
  filters = [bf];
}
if (i<=-100) {
  i = 0;
  myid1 = setInterval(tt, 50);
  delete this.onEnterFrame;
}
};
stop();
function tt():Void {//清楚到模糊,动态显示
i += 4;
var bf:flash.filters.BlurFilter = new flash.filters.BlurFilter();
bf.blurX = bf.blurY=i;
bf.quality = 3;
with (mm1) {
  filters = [bf];
}
if (i>=100) {
  i = 100;
  mm1._visible = 0;
  _root.gotoAndStop(2);//进入第2张图片
  clearInterval(myid1);
}
}
//..................................................................

主场景上第2帧上的as:
//.................................................................
var i:Number = 50;
_root.attachMovie("mc2", "mm2", -2);
mm2._visible = false;
this.onEnterFrame = function():Void  {
mm2._visible = true;
i -= 2;
var bf:flash.filters.BlurFilter = new flash.filters.BlurFilter();
bf.blurX = bf.blurY=i;
bf.quality = 3;
with (mm2) {
  filters = [bf];
}
if (i<=0) {
  i = 0;
  //mm.removeMovieClip();
  stop();
  delete this.onEnterFrame;
}
};
//........................................................................
stop();

[ 本帖最后由 sxl001 于 2006-9-16 08:12 编辑 ]

附件

图片模糊显示0.fla (168 KB)

2006-9-16 15:44, 下载次数: 323

3.jpg (90.73 KB)

2006-9-16 15:57

3.jpg

4.jpg (82.92 KB)

2006-9-16 15:57

4.jpg

TOP

...............这个...........啥东西没看见

貌似楼主只是来通报一声的?.

TOP

import flash.filters.BlurFilter是FLASH8才有的,另外看的效果不错

[ 本帖最后由 8765004 于 2006-9-16 16:06 编辑 ]

TOP

引用:
原帖由 天心久 于 2006-9-16 15:42 发表
...............这个...........啥东西没看见

貌似楼主只是来通报一声的?.
flash8制作,用player8输出的。呵呵,电脑上没有装flash8看不到效果
生活难免不如意,我要做一只不倒翁,在跌倒的瞬间弹起。永不气馁,永不放弃。

TOP

好...学习ING
http://steamlin.flash8.net
网站建设/域名、空间租用..www.china-space.cn
蓝莫名博http://www.20click.com/cn/index.php?u=steamlin

TOP

请问搂主如果我有5-6张图片希望这样出现应该怎么修改~?

TOP

引用:
原帖由 911king 于 2006-9-18 14:57 发表
请问搂主如果我有5-6张图片希望这样出现应该怎么修改~?
用我这个啊..我是由楼主那个改过来的啊..

var i:Number = 50;
var pintNum = 3;//定义图片的张数.
var Num = 1;
_root.createEmptyMovieClip("mm", 0);
ll(Num);
function ll(picNum:Number) {
        //由模糊到清楚
        i = 50;
        _root.mm.attachMovie("mc"+picNum, "mm1", -1);
        _root.mm.mm1 = true;
        if (picNum>pintNum) {
                Num = 1;
        } else {
                Num = Num+1;
        }
        this.onEnterFrame = function():Void  {
                i -= 2;
                var bf:flash.filters.BlurFilter = new flash.filters.BlurFilter();
                bf.blurX = bf.blurY=i;
                bf.quality = 3;
                with (mm.mm1) {
                        filters = [bf];
                }
                if (i<=-100) {
                        i = 0;
                        myid1 = setInterval(tt, 50);
                        delete this.onEnterFrame;
                }
        };
}
function tt():Void {
        //由清楚到模糊
        i += 4;
        var bf:flash.filters.BlurFilter = new flash.filters.BlurFilter();
        bf.blurX = bf.blurY=i;
        bf.quality = 3;
        with (mm.mm1) {
                filters = [bf];
        }
        if (i>=100) {
                i = 100;
                mm.mm1._visible = 0;
                ll(Num);
                clearInterval(myid1);
        }
}
stop();
http://steamlin.flash8.net
网站建设/域名、空间租用..www.china-space.cn
蓝莫名博http://www.20click.com/cn/index.php?u=steamlin

TOP

有思想,够创意!我喜欢!

TOP

TOP

不错,我顶

难道楼主做得不行吗?

TOP

这种叫做最简教程?

我看着头大哦,楼主!

TOP

学习学习。~

TOP

TOP

发新话题