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

Flash动画制作
Flash绘制简单的楼梯动画场景
关于影片剪辑在主场景中位置修改的Flash技巧
Flash教程:单选题的制作
Flash绘画技巧实例:鼠绘好看的水仙花
Flash人物走动动画的制作技巧分析
Flash钢笔工具绘图技巧详细分析
Flash辅助线轻松辅助工具绘制女孩脸部
Flash新手鼠绘教程(2):熟悉鼠绘工具
Flash新手鼠绘教程(1):怎样学习鼠绘
Flash新手鼠绘(3):漂亮的卡通花草场景
FLASH CTRL+C SHORTCUT IN IE 快捷键在IE中失效
Flash 绘画技巧 投影滤镜设置阴影
Flash 视频广告的定位兼容性问题
SWFText轻松制作Flash贺卡
人物走动Flash动画的制作技巧分析
Flash钢笔工具绘图的技巧详细讲解
Flash新手鼠绘(9):好看的月季花
Flash新手鼠绘(10):美丽逼真的郁金香
Flash新手鼠绘(11):逼真的瓢虫
FLASH8.0鼠绘实例(1):时尚气质美女

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-01   浏览: 198 ::
收藏到网摘: 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);