flash特效原理:标签云(2)

       在初步完成之后,其实依然可以对其进行一些修改,当初使用发光滤镜发现效果并不是很理想,于是改用了color滤镜。下面继续使用这个滤镜。

在这里需要提供一个滤镜数组,如下,作用改变图形的颜色。

再添加一个标签容器:里面设置位图,设置滤镜。

在一个网友留言当中,他们希望鼠标经过标签的时候停止运动,并且放大,离开的时候继续运动。

我们可以把TagText当中as 文件进行修改,提供一个额外的参数用于控制旋转时候的停顿和开始。

public function TagText(tag_List:Array,urls:Array,colors:Array,textFormat:TextFormat=null,glowColor:uint=0x00ff00,tagCloud:TagCloud=null)

同样地方,再把他们改成冒泡形式监听:

在监听鼠标的事件当中,处理了变色和放大,以及停止旋转。

 tagCloud.startMotion();//开始运动

 tagCloud.stopMotion();//停止运动

 

基本测试:

var effect:IEffect = new TagText(tagArray,tagUrls,tagColor,new TextFormat("Arial",20,0,true),0x00ff00,tags);

只是增加一个参数。

在另外一个方案当中,同样可以进行修改TagText当中鼠标行为,可以将其只是提供一个事件分派

private function onOverHandler(event:MouseEvent):void
{

   this.dispatchEvent(new Event("mouseOverEvent")); 

}

private function onOutHandler(event:MouseEvent):void
{

   this.dispatchEvent(new Event("mouseOutEvent")); 

}

监听的时候,对其行为添加你想执行的行为。而不用为TagText类 额外增加一个参数

public function TagText(tag_List:Array,urls:Array,colors:Array,textFormat:TextFormat=null,glowColor:uint=0x00ff00,tagCloud:TagCloud=null)

依旧可以原来面貌

public function TagText(tag_List:Array,urls:Array,colors:Array,textFormat:TextFormat=null,glowColor:uint=0x00ff00)

好,大概就是这样了。

好玩的地方还可以继续完善。

你可能感兴趣的:(Flash)