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

Flash动画制作
Flash 3d效果精彩实例(5)
贺新年 制作五彩缤纷焰火动画
FlashMX2004中的XML应用之原理篇
制作一个骄艳的鲜花情人Flash贺卡
有趣 用Flash制作互动的小人
Flash制作鸡年新春动画贺卡
Flash MX 2004 UI组件系列教程(3)
Flash加载外部文件(5)
Flash MX 2004 UI组件系列教程(4)
Flash加载外部文件(2)
Flash加载外部文件(3)
一个最简便的代码实现任意数字和0的来回跳转
让Flash课件中测试题信手拈来
MX中如何实现swf文件的完美跳转
三分钟理解Flash中的级别关系
flash与ASP通信的几种方法
flashMX2004视频插件的应用教程
如何做好一个多人配合的flash项目
AS计算方面的错误
如何防止SWF文件被反编译

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-04   浏览: 298 ::
收藏到网摘: 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