代碼詳解:
[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度,顏色黑色)