as3 滤镜
滤镜是一些位图的效果,可以用于任何显示对象。在flashIDE中可以使用滤镜面板或使用 时间轴的ActionScipt来使用滤镜。在AS3中包括以下几种滤镜: Drop shadow(投影滤镜) Blur(模糊滤镜) Glow(发光滤镜) Belver(斜角滤镜) Gradient belvel(渐变斜角滤镜) Gradient glow(渐变发光滤镜) Color matrix(颜色矩阵滤镜) Convolution(卷积滤镜) Displacement map(置换图滤镜) ? 1.创建滤镜: ?????? 首先要导入filters.*(例如要使用BlurFilter滤镜就要写入如下代码:import flash .filters.BlurFilter) ????? 其次创建滤镜实例: var blur:BlurFilter = new BlurFilter(5,5,3); ????2. 应用滤镜:使用滤镜时,需要创建一个数组,将我们创建的滤镜实例粘在上面,再将 这个数组赋给显示对象的filters属性即可,代码如下: ???? var blur:BlurFilter = new BlurFilter(5,3); ??? var myFilters:Array = new Array(); ?? silters.push(blur); ??? sprite.filters = myFilters; 【sprite是一个显示对象】 3.参数说明: filters中的BlurFilters是模糊滤镜,三个参数如下所示: blurX:Number (default = 4.0) — 水平模糊量。 有效值为 0 到 255.0(浮点值)。?? ?quality:int (default = 1) — 应用滤镜的次数。 您可以使用 BitmapFilterQuality 常数来指定品质。 4.滤镜实例: 实例说明:本实例首先绘制了一个带边框的黄色矩形,让矩形作为显示对象,对它使用 模糊滤镜,效果见附件; AS3程序(文档类)如下: package { 创建一个动态的投影滤镜实例,实现:矩形的投影随着鼠标和矩形的相对距离和角度而变 化====动态滤镜: as3文档类AnimatedFilter: package { public function AnimatedFilter() { ?private function init() { ?sprite = new Sprite(); addEventListener(Event.ENTER_FRAME,onEnterFrameFunc); ??} ////鼠标和矩形的相对夹角作为投影的投影角度 var dx:Number = mouseX - sprite.x; ?var dy:Number = mouseY - sprite.y; ?filter.distance= - Math.sqrt(dx * dx+dy * dy)/10; ?filter.angle=Math.atan2(dx,dy) * 180/Math.PI; ?sprite.filters = [filter]; ??} ?} } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |