当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash CS4教程:文字颜色缓动特效

Flash动画制作
巧用超级解霸在Flash V5.0中插入录像
教你用Flash MX来制作简单的课件界面
Flash MX 2004 ActionScript图文教程(二)
Flash MX 2004 ActionScript图文教程(三)
Flash MX 2004 ActionScript图文教程(四)
Flash MX 2004 ActionScript图文教程(五)
Flash MX 2004 ActionScript图文教程(六)
flash场景之间相互跳转的实现方法
Flash本地加密
FLASH -- 关于变量的问题FLASH -- 关于变量的问题
Flash5 画任意直线教程
Flash MX 视频导入功能详解
制作飞舞的蝴蝶
Flash MX 2004 ActionScript图文教程(七)
Flash MX 2004 ActionScript图文教程(八)
Flash MX 2004 ActionScript图文教程(九)
Flash MX 2004 ActionScript图文教程(十)
Flash教程 飞翔的文字
Flash MX 2004 ActionScript图文教程(十一)
制作Flash网站技巧拾零

Flash动画制作 中的 Flash CS4教程:文字颜色缓动特效


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-04   浏览: 248 ::
收藏到网摘: n/a

先来看下效果:


代码详解:

[SWF(backgroundColor=0x000000,width=550,height=400)]//设置场景背景色、大小

var r:uint=0,g:uint=0,b:uint=0;//声明无符号整数型变量r、g、b,初始值都是0

var color:uint,targetR:uint,targetG:uint,targetB:uint;//声明无符号整数型变量color、targetR、targetG、targetB

var filtersCo:uint,filtersR:uint,filtersG:uint,filtersB:uint;//声明无符号整数型变量filtersCo、filtersR、filtersG、filtersB

var glowF:GlowFilter;//声明一个发光滤镜类实例glowF

var matrix:Matrix=new Matrix();//声明一个矩阵类实例matrix

matrix.createGradientBox(550,200,0,0,0);//设置矢量图渐变填充所需矩阵样式(宽550,高200,旋转0,X方向平移0,Y方向平移0)

var sh:Shape=new Shape();//声明一个矢量图类实例sh

sh.graphics.beginGradientFill(GradientType.LINEAR,[0xff0000,0xffff00,0x00ff00,0x00ffff,0x0000ff,0xff00ff,0xff0000],[1,1,1,1,1,1,1],[0,42,84,126,168,210,255],matrix);//设置渐变填充样式(线性渐变,颜色块颜色,透明度,颜色块位置,矩阵)

sh.graphics.drawRect(0,0,550,200);//在sh中画矩形(左上角坐标(0,0),宽550,高200)

sh.graphics.endFill();//结束填充

var bmd:BitmapData=new BitmapData(550,200);//声明一个位图数据类实例bmd(宽550,高200)

var bim:Bitmap=new Bitmap(bmd);//声明一个位图包装类实例bim,用于包装bmd

bmd.draw(sh);//位图bmd为矢量图sh拍照

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号,深绿色)

txt1.text="全脚本文字颜色缓动效果        鼠标滑动七彩图改变文字颜色";//文本txt内容

txt1.x=20;//文本txt的X坐标获取20

txt1.y=360;//文本txt的Y坐标获取360

txt1.width=550;//文本txt的宽度获取220

txt1.filters=[new DropShadowFilter(2,45,0x0)];//为文本添加投影滤镜(距离5,方向45度,颜色黑色)
附件下载:文字颜色缓动效果.rar