萬盛學電腦網

 萬盛學電腦網 >> 圖文處理 >> Flash教程 >> 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度,顏色黑色)

copyright © 萬盛學電腦網 all rights reserved