创建一个带有模糊边缘的遮罩但是没起效果的原因 - 如果要加载模糊边缘的遮罩来遮罩显示对象, 需要将被遮罩的显示对象的cacheAsBitmap 打开
创建一个带有模糊边缘的遮罩但是没起效果的原因 - 如果要加载模糊边缘的遮罩来遮罩显示对象, 需要将被遮罩的显示对象的cacheAsBitmap 打开
package { import flash.display.Bitmap; import flash.display.Sprite; import flash.events.Event; import flash.display.Loader; import flash.net.URLRequest; import flash.filters.BlurFilter; import flash.filters.BitmapFilterQuality; public class SampleSimpleMask extends Sprite { private var _bitmap:Bitmap; private var _circleMask:Sprite; public function SampleSimpleMask() { initMask(); startLoadImg(); } private function loaded(evt:Event):void { _bitmap = evt.target.content as Bitmap; addChild(_bitmap); _bitmap.cacheAsBitmap = true;//加上这句,将缓存显示对象的内部位图表示形式 _bitmap.mask = _circleMask; } private function initMask():void { _circleMask = new Sprite(); _circleMask.graphics.beginFill(0xFF00FF); _circleMask.graphics.drawCircle(60,60,200); _circleMask.graphics.endFill(); _circleMask.filters = [new BlurFilter(50,50,BitmapFilterQuality.HIGH)]; _circleMask.cacheAsBitmap = true; this.addChild(_circleMask); _circleMask.startDrag(true); } private function startLoadImg():void { var loader:Loader = new Loader(); var request:URLRequest = new URLRequest("a.jpg"); loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loaded); loader.load(request); } }}