一、渐变斜角——GradientBevelFilter类
二、投影——DropShadowFilter类
三、模糊——BlurFilter类(这个最容易了,参数少)
四、发光——GlowFilter类
五、渐变发光——GradientGlowFilter类
六、斜角——BevelFilter类
做法是用new关键字新建一个相应类的对象,暂时就叫myfilters吧,然后把这个对象添加进一个数组filters_array,最后把这个数组赋值给mc的fliters属性,大功告成。
我想其中关键应该就是创建对象时如何设置里面的参数吧,我想滤镜的面板大家都很熟悉的了,那么,我就把as添加滤镜的一些参数和它们的面板相对照,这样可能更容易理解。
下面逐个举例(都是帮助里的例子啦,里面的参数名字都是可以改的,不过我觉得就用那些名字就蛮好),例子里都有函数setUpFlatRectangle(也有叫createRectangle的),是用来做一个方形mc的。
function setUpFlatRectangle(w:Number, h:Number,bgColor:Number, name:String):MovieClip {var mc:MovieClip = this.createEmptyMovieClip(name,this.getNextHighestDepth());mc.beginFill(bgColor);mc.lineTo(w, 0);mc.lineTo(w, h);mc.lineTo(0, h);mc.lineTo(0, 0);return mc;}
直接把脚本复制到主场景的第一帧就ok了,不要忘记上面的函数哦,要注意改函数名的
一、渐变斜角——GradientBevelFilter类
面板:截图暂无,就是截的滤镜面板啦,各位大哥请麻烦自己打开flash对照吧
脚本:
import flash.filters.GradientBevelFilter;import flash.filters.BitmapFilter;var art:MovieClip = setUpFlatRectangle(150, 150, 0xCCCCCC,"gradientBevelFilterExample");//创建新的mc,实例名:artvar distance:Number = 5;var angleInDegrees:Number = 225; // opposite 45 degreesvar colors:Array = [0xFFFFFF, 0xCCCCCC, 0x000000];var alphas:Array = [1, 0, 1];var ratios:Array = [0, 128, 255];var blurX:Number = 8;var blurY:Number = 8;var strength:Number = 2;var quality:Number = 3;var type:String = "inner";var knockout:Boolean = true;//设置各个参数var filter:GradientBevelFilter = new GradientBevelFilter(distance,angleInDegrees, colors, alphas, ratios, blurX, blurY, strength,quality, type, knockout);//创建斜角滤镜对象filtervar filterArray:Array = new Array();filterArray.push(filter);//把filter添加进数组filterArray,如果art上有多个滤镜效果,就直接添加进这个数组好了art.filters = filterArray;//将art的filters属性设置为filterArray
下面是脚本中的参数和面板中的参数对比:
colors、alphas、ratios用来控制渐变颜色的,colors是色彩,alphas是百分比(这里面是0~1的小数),ratios是偏移量0~255(可以参考Color类)blurX、blurY是就对应面板里的模糊x、模糊y。strength是面板里的强度,是0~255的数;quality是品质,只有1、2、3分别对应低、中、高distance是距离,默认4.0;type是类型,用字符串表示,例子中的”inner”是内侧,还有outer、fuller;knockout是个布尔值,表示是否挖空。
二、投影——DropShadowFilter类
面板:截图暂无,就是截的滤镜面板啦,各位大哥请麻烦自己打开flash对照吧
脚本:
import flash.filters.DropShadowFilter;var art:MovieClip = createRectangle(100, 100, 0x003366,"gradientGlowFilterExample");var distance:Number = 20;var angleInDegrees:Number = 45;var color:Number = 0x000000;var alpha:Number = 0.8;var blurX:Number = 16;var blurY:Number = 16;var strength:Number = 1;var quality:Number = 3;var inner:Boolean = false;var knockout:Boolean = false;var hideObject:Boolean = false;var filter:DropShadowFilter = new DropShadowFilter(distance,angleInDegrees, color, alpha, blurX, blurY, strength, quality,inner, knockout, hideObject);var filterArray:Array = new Array();filterArray.push(filter);art.filters = filterArray;
下面是脚本中的参数和面板中的参数对比:
Distance是距离;angleInDegrees是角度0~360blurX、blurY是模糊x、模糊ystrength是强度,脚本里是0~5的数quality是品质,只能是1、2、3,分别对应低、中、高inner是内侧阴影knockout是挖空hideObject是隐藏对象
三、模糊——BlurFilter类(这个最容易了,参数少嘛)
面板:截图暂无,就是截的滤镜面板啦,各位大哥请麻烦自己打开flash对照吧
脚本:
import flash.filters.BlurFilter;var rect:MovieClip = createRectangle(100, 100, 0x003366,"BlurFilterExample");var blurX:Number = 30;var blurY:Number = 30;var quality:Number = 3;var filter:BlurFilter = new BlurFilter(blurX, blurY,quality);var filterArray:Array = new Array();filterArray.push(filter);rect.filters = filterArray;
这个就不解释了,就三个参数,前面都介绍过了,下面遇到介绍过的参数就都不介绍了
四、发光——GlowFilter类
面板:截图暂无,就是截的滤镜面板啦,各位大哥请麻烦自己打开flash对照吧
脚本:
import flash.filters.GlowFilter;var rect:MovieClip = createRectangle(100, 100, 0x003366,"gradientGlowFilterExample");var color:Number = 0x33CCFF;var alpha:Number = .8;var blurX:Number = 35;var blurY:Number = 35;var strength:Number = 2;var quality:Number = 3;var inner:Boolean = false;var knockout:Boolean = false;var filter:GlowFilter = new GlowFilter(color, alpha, blurX, blurY,strength, quality, inner, knockout);var filterArray:Array = new Array();filterArray.push(filter);rect.filters = filterArray;
五、渐变发光——GradientGlowFilter类
面板:截图暂无,就是截的滤镜面板啦,各位大哥请麻烦自己打开flash对照吧
脚本:
import flash.filters.GradientGlowFilter;var art:MovieClip = createRectangle(100, 100, 0x003366,"gradientGlowFilterExample");var distance:Number = 0;var angleInDegrees:Number = 45;var colors:Array = [0xFFFFFF, 0xFF0000, 0xFFFF00, 0x00CCFF];var alphas:Array = [0, 1, 1, 1, 1];var ratios:Array = [0, 63, 126, 255];var blurX:Number = 50;var blurY:Number = 50;var strength:Number = 2.5;var quality:Number = 3;var type:String = "outer";var knockout:Boolean = false;var filter:GradientGlowFilter = new GradientGlowFilter(distance,angleInDegrees, colors, alphas, ratios, blurX, blurY, strength,quality, type, knockout);var filterArray:Array = new Array();filterArray.push(filter);art.filters = filterArray;
这里的参数跟发光那个很像,需要说明的就是用来设置颜色的那几个数组里的4项依次是表示从外到内的颜色的
六、斜角——BevelFilter类
面板:截图暂无,就是截的滤镜面板啦,各位大哥请麻烦自己打开flash对照吧
脚本:
import flash.filters.BevelFilter;var distance:Number = 5;var angleInDegrees:Number = 45;var highlightColor:Number = 0xFFFF00;var highlightAlpha:Number = 1;var shadowColor:Number = 0x0000FF;var shadowAlpha:Number = 1;var blurX:Number = 10;var blurY:Number = 10;var strength:Number = 2;var quality:Number = 3;var type:String = "inner";var knockout:Boolean = false;var filter:BevelFilter = new BevelFilter(distance, angleInDegrees,highlightColor, highlightAlpha, shadowColor, shadowAlpha, blurX,blurY, strength, quality, type, knockout);var rect:MovieClip = createRectangle(100, 100, 0x00CC00,"bevelFilterExample");rect.filters = new Array(filter);
参数:
highlightColor、highlightAlpha设置加亮颜色shadowColor、shadowAlpha设置阴影颜色
AS 滤镜效果总结
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 北大教授、著名作家曹文轩在瑞典作交流的时候,听瑞典作家讲了一件事: 有个人家有两个儿子,老大因为当时家庭经济拮据,...