位置:首頁(yè) > 軟件操作教程 > UI設(shè)計(jì)軟件 > Adobe Dreamweaver > 問(wèn)題詳情

文字顏色緩動(dòng)特效

提問(wèn)人:周麗平發(fā)布時(shí)間:2021-05-27

代碼詳解:

[SWF(backgroundColor=0x000000,width=550,height=400)]//設(shè)置場(chǎng)景背景色、大小

var r:uint=0,g:uint=0,b:uint=0;//聲明無(wú)符號(hào)整數(shù)型變量r、g、b,初始值都是0

var color:uint,targetR:uint,targetG:uint,targetB:uint;//聲明無(wú)符號(hào)整數(shù)型變量color、targetR、targetG、targetB

var filtersCo:uint,filtersR:uint,filtersG:uint,filtersB:uint;//聲明無(wú)符號(hào)整數(shù)型變量filtersCo、filtersR、filtersG、filtersB

var glowF:GlowFilter;//聲明一個(gè)發(fā)光濾鏡類實(shí)例glowF

var matrix:Matrix=new Matrix();//聲明一個(gè)矩陣類實(shí)例matrix

matrix.createGradientBox(550,200,0,0,0);//設(shè)置矢量圖漸變填充所需矩陣樣式(寬550,高200,旋轉(zhuǎn)0,X方向平移0,Y方向平移0)

var sh:Shape=new Shape();//聲明一個(gè)矢量圖類實(shí)例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è)置漸變填充樣式(線性漸變,顏色塊顏色,透明度,顏色塊位置,矩陣)

sh.graphics.drawRect(0,0,550,200);//在sh中畫(huà)矩形(左上角坐標(biāo)(0,0),寬550,高200)

sh.graphics.endFill();//結(jié)束填充

var bmd:BitmapData=new BitmapData(550,200);//聲明一個(gè)位圖數(shù)據(jù)類實(shí)例bmd(寬550,高200)

var bim:Bitmap=new Bitmap(bmd);//聲明一個(gè)位圖包裝類實(shí)例bim,用于包裝bmd

bmd.draw(sh);//位圖bmd為矢量圖sh拍照

addChild(bim);//把位圖bim添加顯示列表

var txt:TextField=new TextField();//聲明一個(gè)文本類實(shí)例txt

addChild(txt);//把文本txt添加顯示列表

txt.defaultTextFormat=new TextFormat("華文琥珀",60);//設(shè)置文本格式(字體,字號(hào))注意這樣設(shè)置要放在內(nèi)容前面才起作用

txt.text="多特軟件站歡迎您!";//文本內(nèi)容

txt.autoSize=TextFieldAutoSize.CENTER;//文本txt自動(dòng)調(diào)整大小并居中對(duì)齊

txt.x=stage.stageWidth/2-txt.width/2;//文本的X坐標(biāo),把文本放在舞臺(tái)中間

txt.y=stage.stageHeight*3/4-txt.height/2;//文本的Y坐標(biāo),把文本放在縱向3/4處

addEventListener(Event.ENTER_FRAME,frame);//添加幀頻事件偵聽(tīng),調(diào)用函數(shù)frame

function frame(e) {//定義幀頻事件函數(shù)frame

color=bmd.getPixel(mouseX,mouseY);//color獲取位圖鼠標(biāo)處像素點(diǎn)的顏色

targetR=color>>16;//targetR獲取color中紅色通道數(shù)值

targetG=color>>8&0xff;//targetG獲取color中綠色通道數(shù)值

targetB=color&0xff;//targetB獲取color中藍(lán)色通道數(shù)值

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);//發(fā)光濾鏡glowF實(shí)例化(顏色,透明度,X方向模糊值,Y方向模糊值)

txt.filters=[glowF];//文字應(yīng)用發(fā)光濾鏡

}

//============說(shuō)明

var txt1:TextField=new TextField();//聲明一個(gè)文本類實(shí)例txt

addChildAt(txt1,numChildren-1);//把txt添加到顯示列表的最底層

txt1.defaultTextFormat=new TextFormat("華文隸書(shū)",20,0x00cc33);//為txt設(shè)置文本格式(隸書(shū),30號(hào),深綠色)

txt1.text="全腳本文字顏色緩動(dòng)效果     鼠標(biāo)滑動(dòng)七彩圖改變文字顏色";//文本txt內(nèi)容

txt1.x=20;//文本txt的X坐標(biāo)獲取20

txt1.y=360;//文本txt的Y坐標(biāo)獲取360

txt1.width=550;//文本txt的寬度獲取220

txt1.filters=[new DropShadowFilter(2,45,0x0)];//為文本添加投影濾鏡(距離5,方向45度,顏色黑色)

繼續(xù)查找其他問(wèn)題的答案?

回復(fù)(0)