欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-13 14:48:15
本教程是向脚本之家的朋友解析Flash cs4文字颜色缓动特效代码,教程比较基础,适合新手来学习,推荐到脚本之家,喜欢的朋友可以跟着教程一起来学习,希望能对大家有所帮助... 14-12-29...

这篇教程是向大家解析flash cs4文字颜色缓动特效代码,教程比较实用,喜欢的朋友可以跟着教程来学习吧!

先来看下效果:




代码详解:

[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度,颜色黑色)

以上就是flash cs4文字颜色缓动特效代码解析,希望能对大家有所帮助!