来自好友thinking的创意,需要使用可拖动的动态遮罩来模拟抹去灰尘的效果,但想让拖动的遮罩边缘更光滑,更自然一些,在flashmx2004本身实现上不太可能用直接的方法实现,兴许多用影片剪辑嵌套能够模拟出来,但用flash8是能够实现的.下面范例及代码:
//***copyrightbywebstudio.com.cn.authorbyegoldy.2006.2.7
//导入flash8filters类
importflash.filters.BlurFilter;
//创建模糊对象
varblur:BlurFilter=newBlurFilter(10,10,2);
_root.createEmptyMovieClip(’square’,2);
_root.pic.setMask(square);
//应用模糊
_root.square.filters=[blur];
//应用cacheAsBitmap.这是关键.
pic.cacheAsBitmap=true;
onMouseMove=function(){
square.drawCircle(_xmouse,_ymouse,30);
updateAfterEvent();
}
//绘制圆
MovieClip.prototype.drawCircle=function(x,y,r){
this.moveTo(x r,y);
this.beginFill(0x000088);
this.curveTo(r x,0.4142*r y,0.7071*r x,0.7071*r y);
this.curveTo(0.4142*r x,r y,x,r y);
this.curveTo(-0.4142*r x,r y,-0.7071*r x,0.7071*r y);
this.curveTo(-r x,0.4142*r y,-r x,y);
this.curveTo(-r x,-0.4142*r y,-0.7071*r x,-0.7071*r y);
this.curveTo(-0.4142*r x,-r y,x,-r y);
this.curveTo(0.4142*r x,-r y,0.7071*r x,-0.7071*r y);
this.curveTo(r x,-0.4142*r y,r x,y);
this.endFill();
};
本例针对webstudio站上之前教程dynamic mask,进行了一些改写,也能够和flashmx2004的效果做一下对比,能够用他来制作类似抹去照片上的灰尘,玻璃幕墙上的水雾等,总之发挥起来就较多了.
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



