舞台上有两个影片剪辑实例:pic_mc和mask_mc
其中pic_mc中是一张位图,
mask_mc中是一个绘制的矢量矩形,从左至右使用渐变色添充,在颜色面板中设置左边色标alpha值为0,右边色标alpha值为100.
为舞台中的两个实例取实例名:pic_mc和mask_mc.
新建AS层,加入如下语句,即可实现渐变遮罩的效果:
pic_mc.mask=mask_mc;
//下面使用cacheAsBitmap,是为了让遮罩也能随透明度有渐变过渡效果
pic_mc.cacheAsBitmap=true;
mask_mc.cacheAsBitmap=true;
//如果设置为 true,则 Flash Player 将缓存显示对象的内部位图表示形式。
//使用该属性往往比默认使用矢量能够更快地呈现。
模糊滤镜遮罩:
import flash.display.Bitmap; import flash.display.Loader; import flash.display.Sprite; import flash.events.Event; import flash.filters.BlurFilter; import flash.net.URLRequest; import flash.filters.BitmapFilterQuality; import flash.ui.Mouse; var _bitmap:Bitmap; var _circleMask:Sprite; //初始化遮罩圆 initMask(); //设置被遮罩的背景图 setBg(); function initMask():void { _circleMask = new Sprite(); _circleMask.graphics.beginFill(0xff0000); _circleMask.graphics.drawCircle(60,60,60); _circleMask.graphics.endFill(); //用滤镜模糊化 _circleMask.filters = [new BlurFilter(20, 20, BitmapFilterQuality.HIGH)]; _circleMask.cacheAsBitmap = true; this.addChild(_circleMask); //遮罩圆可拖拽 _circleMask.startDrag(true); Mouse.hide(); } function setBg():void { //舞台上面的一个MovieClip bg.mask = _circleMask; }