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

Flash动画制作
Flash动画绘画实例:卡通版大眼睛小女孩
Flash实例教程:方块动画特效制作
Flash as入门(20):制作时钟的实例教程
Flash AS自定义函数提高程序执行效率
Flash AS3教程:制作鼠标感应图片转动
给你的flash减减肥
Flash教程:广告也有记忆
Adobe Flash教程:赋予人物会动的关节
初试 Flash CS4 的新功能
小软件制作漂亮的flash相册
Flash游戏制作:敌人穷追不舍的动画研究
Flash实例:制作晃动光线文字特效
Flash CS3教程:快速模糊变化文字动画
Flash动画制作技巧:动物行走动画制作揭秘
Flash实例教程:飞机阴影跟随飞机飞翔
Flash技巧:组合技巧制作吸引人的动画
Flash模糊滤镜制作动感模糊文字动画
flash动画技巧:制作2.5D动画
Flash CS3动画制作:精密角色动画设计技巧
2009年国际十大最好的Flash网站

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


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