当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash技巧:PNG非透明区域为mask

Flash动画制作
巧用超级解霸在Flash V5.0中插入录像
教你用Flash MX来制作简单的课件界面
Flash MX 2004 ActionScript图文教程(二)
Flash MX 2004 ActionScript图文教程(三)
Flash MX 2004 ActionScript图文教程(四)
Flash MX 2004 ActionScript图文教程(五)
Flash MX 2004 ActionScript图文教程(六)
flash场景之间相互跳转的实现方法
Flash本地加密
FLASH -- 关于变量的问题FLASH -- 关于变量的问题
Flash5 画任意直线教程
Flash MX 视频导入功能详解
制作飞舞的蝴蝶
Flash MX 2004 ActionScript图文教程(七)
Flash MX 2004 ActionScript图文教程(八)
Flash MX 2004 ActionScript图文教程(九)
Flash MX 2004 ActionScript图文教程(十)
Flash教程 飞翔的文字
Flash MX 2004 ActionScript图文教程(十一)
制作Flash网站技巧拾零

Flash动画制作 中的 Flash技巧:PNG非透明区域为mask


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-01   浏览: 211 ::
收藏到网摘: n/a

在Flash中我们可以画一个任意的图片为mask区域..有时候我们可能需要利用png中非透明区域为mask..如果直接使用a.mask = b(b为包含png图片的对象);出来的效果会这样:(右图为png原图)



而我们希望得到的效果其实是:


分析一下上面的效果的代码~~

  1. //随便加载一张图片,来用处为mask的目标   
  2. var image:Loader = new Loader();   
  3. image.cacheAsBitmap = true;//此步重要,把对象缓存为位图   
  4. addChild(image);   
  5. image.load(new URLRequest("/UploadTeach/200901/20090116173230248.jpg"));   
  6.   
  7. //加载一张png图,作为mask区域;   
  8. var loader:Loader = new Loader();   
  9. loader.contentLoaderInfo.addEventListener(Event.COMPLETE,complete)   
  10. loader.filters = [new BlurFilter(0,0,0)]//此步重要,给对象加一个filter   
  11. addChild(loader)   
  12. loader.load(new URLRequest("/UploadTeach/200901/20090116173231266.png"));   
  13.   
  14. //设置mask   
  15. image.mask = loader;   
  16.   
  17. //以下代码非必要...................................................................   
  18.   
  19. //把png复制一份显示出来   
  20. function complete(e:Event):void  
  21. {   
  22.     var bit:BitmapData = Bitmap(loader.content).bitmapData.clone();   
  23.     var bmp:Bitmap = new Bitmap(bit);   
  24.     bmp.x = 256;   
  25.     addChild(bmp);