GlowFilter+圆形的动态遮罩

GlowFilter滤镜可以实现发光效果,和圆形结合创建动态遮罩,从而实现图片轮换效果是很不错的!

效果图

ActionScript代码

这个非常简单,这里只贴一下做遮罩的代码:

AS Code
stop ();
import flash.filters.GlowFilter;
// 画圆
function drawCircle (mc:MovieClip, x:Number, y:Number, r:Number):Void
{
	mc.moveTo (+ r, y);
	mc.beginFill (0);
	mc.curveTo (+ x, Math.tan (Math.PI / 8) * r + y, Math.sin (Math.PI / 4) * r + x, Math.sin (Math.PI / 4) * r + y);
	mc.curveTo (Math.tan (Math.PI / 8) * r + x, r + y, x, r + y);
	mc.curveTo (-Math.tan (Math.PI / 8) * r + x, r + y, -Math.sin (Math.PI / 4) * r + x, Math.sin (Math.PI / 4) * r + y);
	mc.curveTo (-r + x, Math.tan (Math.PI / 8) * r + y, -r + x, y);
	mc.curveTo (-r + x, -Math.tan (Math.PI / 8) * r + y, -Math.sin (Math.PI / 4) * r + x, -Math.sin (Math.PI / 4) * r + y);
	mc.curveTo (-Math.tan (Math.PI / 8) * r + x, -r + y, x, -r + y);
	mc.curveTo (Math.tan (Math.PI / 8) * r + x, -r + y, Math.sin (Math.PI / 4) * r + x, -Math.sin (Math.PI / 4) * r + y);
	mc.curveTo (+ x, -Math.tan (Math.PI / 8) * r + y, r + x, y);
	mc.endFill ();
}
var circle_mc:MovieClip = this.createEmptyMovieClip ("circle", 0);
circle_mc._x = _root.borderwidth / 2;
circle_mc._y = _root.borderheight / 2;
circle_mc.lineStyle (0, 0);
drawCircle (circle_mc, 0, 0, 5);
var ctrl_mc:MovieClip = _root.nextPic;
var maxNum:Number = _root.borderwidth / 2;
var r:Number = 5;
var color:Number = 0xCCFF33
//0x33CCFF;
var alpha:Number = .8;
var blurX:Number = 35;
var blurY:Number = 35;
var strength:Number = 2;
var quality:Number = 3;
var inner:Boolean = false;
var knockout:Boolean = false;
var filter:GlowFilter = new GlowFilter (coloralphablurXblurYstrengthqualityinnerknockout);
var filterArray:Array = new Array ();
filterArray.push (filter);
ctrl_mc.filters = filterArray;
this.onEnterFrame = function ()
{
	if (circle_mc._width < _root.borderwidth)
	{
		circle_mc._xscale *= 1.1;
		circle_mc._yscale *= 1.1;
		ctrl_mc.filters = filterArray;
	}
	else
	{
		delete this.onEnterFrame;
		ctrl_mc.filters = null
		_root.next_pic ();
		this.gotoAndStop (1);
	}
};

源文件下载

  1. FLA文件:glowfilter.fla
  2. SWF文件:glowfilter.swf