·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3.0使用滤镜功能的常见问题介绍(2)

时间:2012-10-27 00:08cnblogs.com
(3) 滤镜是一层一层叠加上去的,例如,有个滤镜数组有两个滤镜:阴影滤镜和光晕滤镜(光晕滤镜在第二个位置),当第一个滤镜应用后,第二个滤镜应用在原始对象 和第一个滤镜之上。如果要让每个滤镜效果都只影响原始对

(3) 滤镜是一层一层叠加上去的,例如,有个滤镜数组有两个滤镜:阴影滤镜和光晕滤镜(光晕滤镜在第二个位置),当第一个滤镜应用后,第二个滤镜应用在原始对象 和第一个滤镜之上。如果要让每个滤镜效果都只影响原始对象而不是叠加,可以建立若干个和原始对象相等大小和位置的可视化对象,将其它滤镜应用到这些对象 上,然后将滤镜的knockout属性设置为true(用于隐藏原始图形)

  1. package { 
  2.  import flash.display.Sprite; 
  3.  import flash.filters.DropShadowFilter; 
  4.  import flash.filters.GlowFilter; 
  5.  public class Sample0508 extends Sprite 
  6.  { 
  7.   public function Sample0508() 
  8.   { 
  9.    var rect:Sprite = new Sprite(); 
  10.    rect.graphics.beginFill(0xFFFF00); 
  11.    rect.graphics.drawRect(100,100,200,150); 
  12.    rect.graphics.endFill(); 
  13.     
  14.    var rectTemp:Sprite = new Sprite(); 
  15.    rectTemp.graphics.beginFill(0xFFFF00); 
  16.    rectTemp.graphics.drawRect(100,100,200,150); 
  17.    rectTemp.graphics.endFill(); 
  18.     
  19.    rect.filters = [new GlowFilter()]; 
  20.    rectTemp.filters = [new DropShadowFilter(10, 45,0, 1, 4, 4, 1, 1, false, true)]; 
  21.     
  22.    this.addChild(rect); 
  23.    this.addChild(rectTemp); 
  24.   } 
  25.  } 

(4) 要清除显示对象上的滤镜效果,通过赋值一个空数组或null即可sampleSprite.filters = [];

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器