Flash cs4文字颜色缓动特效代码解析
这篇教程是向大家解析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文字颜色缓动特效代码解析,希望能对大家有所帮助!