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