2005/10/15 | 模糊滤镜简单使用
类别(as研究) | 评论(0) | 阅读(78) | 发表于 09:29
1.模糊滤镜

下面是flash中的帮助文本

BlurFilter 类允许您将模糊视觉效果应用于 Flash 中的各种对象。模糊效果可以柔化图像的细节。您可以生成一些模糊效果,范围从创建一个柔化的、未聚焦的外观到高斯模糊(就像通过半透明玻璃查看图像一样的朦胧的外观)。当此滤镜的 quality 属性设置为 1 时,结果为柔化的、未聚焦的外观。当 quality 属性设置为 3 时,该属性接近高斯模糊滤镜。

参数

blurX:水平模糊量。有效值为 0 到 255(浮点值)。默认值为 4。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,呈现速度比其它值更快。

blurY:垂直模糊量。有效值为 0 到 255(浮点值)。默认值为 4。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,呈现速度比其它值更快。

quality:应用滤镜的次数。默认值为 1,即表示低品质。值为 2 表示中等品质,值为 3 表示高品质并且接近高斯模糊。

在滤镜面版blurX和blurY的取值范围是0-100,quality取值为1-3,所以我感觉滤镜还是用在AS方面强些,毕竟用到flash中就会由静态的效果变成动态效果.下面简单运用下.


1).首先是默认的效果,就是默认值效果:
import flash.filters.BlurFilter;
//导入类
var myBlur:BlurFilter = new BlurFilter();
my_mc.filters = [myBlur];
//应用滤镜到MC




2).简单创建按钮效果


import flash.filters.BlurFilter;
//导入类
my_mc.onRollOver = function() {
mc_over(16, 16, 3);
};
my_mc.onRollOut = function() {
mc_over(4, 4, 1);
};
function mc_over(a, b, c) {
var myBlur:BlurFilter = new BlurFilter();
myBlur.blurX = a;
//水平模糊量
myBlur.blurY = b;
//垂直模糊量
myBlur.quality = c;
//品质
this.filters = [myBlur];
//应用滤镜到MC
}




3).鼠标特效简单使用

Mouse.hide();
blurX = 0;
blurY = 0;
myColor = new Color(fang_mc);
function moveto() {
fang_mc._alpha = Math.floor(Math.random()*50)+30;
fang_mc._width = blurX/random(30)+10;
fang_mc._height = blurX/random(40)+5;
myColor.setRGB(Math.floor(Math.random()*0xFFCCCC));
blurX += (_root._xmouse-fang_mc._x)/4;
blurY += (_root._ymouse-fang_mc._y)/4;
fang_mc._x = blurX;
fang_mc._y = blurY;
myfilters = new flash.filters.BlurFilter();
myfilters.blurX = blurX/random(30)+10;
myfilters.blurY = blurX/random(40)+5;
fang_mc.filters = [myfilters];
}
setInterval(moveto, 1);




4).每个滤镜都有一个clone()方法,作用是克隆一个滤镜效果.这个方法是对滤镜效果的引用,一旦原先滤镜的效果定义好,使用clone()方法克隆其效果,当克隆好以后,如果修改原先滤镜的效果,克隆的滤镜效果不会改变.当然克隆的这个滤镜也可以改变属性,不影响原先滤镜的效果.如下的效果:

import flash.filters.BlurFilter;
//导入类
var myBlur:BlurFilter = new BlurFilter();
myBlur.blurX = 32;
//水平模糊量
myBlur.blurY = 32;
var my_blur:BlurFilter = myBlur.clone();
my_blur.blurY = 16;
//垂直模糊量
myBlur.blurX = 8;
my_mc.filters = [myBlur];
you_mc.filters = [my_blur];
//应用滤镜到MC



模糊滤镜比较简单,属性只有3个,和其他滤镜结合该有很好的效果





0

评论Comments