Flash cs4文字颜色缓动特效代码解析

2019-10-07 20:56:11王旭


addChild(bim);//把位图bim添加显示列表

var txt:TextField=new TextField();//声明一个文本类实例txt

addChild(txt);//把文本txt添加显示列表

txt.defaultTextFormat=new TextFormat("华文琥珀",60);//设置文本格式(字体,字号)注意这样设置要放在内容前面才起作用

txt.text="中国教程网欢迎您!";//文本内容

txt.autoSize=TextFieldAutoSize.CENTER;//文本txt自动调整大小并居中对齐

txt.x=stage.stageWidth/2-txt.width/2;//文本的X坐标,把文本放在舞台中间

txt.y=stage.stageHeight*3/4-txt.height/2;//文本的Y坐标,把文本放在纵向3/4处

addEventListener(Event.ENTER_FRAME,frame);//添加帧频事件侦听,调用函数frame

function frame(e) {//定义帧频事件函数frame

        color=bmd.getPixel(mouseX,mouseY);//color获取位图鼠标处像素点的颜色

        targetR=color>>16;//targetR获取color中红色通道数值

        targetG=color>>8&0xff;//targetG获取color中绿色通道数值

        targetB=color&0xff;//targetB获取color中蓝色通道数值

        r+=uint((targetR-r)*0.03);//r每帧增加targetR与r差的0.03倍

        g+=uint((targetG-g)*0.03);//g每帧增加targetG与g差的0.03倍

        b+=uint((targetB-b)*0.03);//b每帧增加targetB与b差的0.03倍

        txt.textColor=r<<16|g<<8|b;//把r、g、b合成颜色付值给文字txt

        filtersR=0xff-r;//filtersR获取0xff与r的差

        filtersG=0xff-g;//filtersG获取0xff与g的差

        filtersB=0xff-b;//filtersB获取0xff与b的差

        filtersCo=filtersR<<16|filtersG<<8|filtersB;//把filtersR、filtersG、filtersB合成颜色付值给filtersCo

        glowF=new GlowFilter(filtersCo,1,8,8);//发光滤镜glowF实例化(颜色,透明度,X方向模糊值,Y方向模糊值)

        txt.filters=[glowF];//文字应用发光滤镜

}

//============说明

var txt1:TextField=new TextField();//声明一个文本类实例txt

addChildAt(txt1,numChildren-1);//把txt添加到显示列表的最底层

txt1.defaultTextFormat=new TextFormat("华文隶书",20,0x00cc33);//为txt设置文本格式(隶书,30号,深绿色)