
嗯...這只是一個懶人小技巧,為了就是省下作 Button enaqbled=false 時的灰階 Icon 圖...( 這個作法是將 disable 狀態直接都變成灰階的...所以設 disable 文字顏色也沒用喔...XD )
原理蠻簡單的就是 override 掉 updateDisplayList 這個 function ( override enabled setter 也可行)
/*
LazyButton
Copyright (c) 2009 Erin Lin ( Yu-Shan Lin)
Your reuse is governed by the Creative Commons Attribution 3.0 License
最近大家都很愛寫CC license 所以我也來寫一下...XD
enabled = false; 變灰階
*/
package
{
 import mx.controls.Button;
 import flash.filters.ColorMatrixFilter;
 public class LazyButton extends Button
 {
  public function LazyButton()
  {
   super();
  }
  override protected function updateDisplayList(unscaledWidth:Number,unscaledHeight:Number):void
    {
         super.updateDisplayList(unscaledWidth, unscaledHeight);
          if(!enabled){
        filters = [new ColorMatrixFilter(
           [0.3086,0.6094,0.0820,0,0,
           0.3086,0.6094,0.0820,0,0,
           0.3086,0.6094,0.0820,0,0,
           0,0,0,1,0])];
        }else{
         filters = [];
        }    
     }
 }
}
這個蠻方便的耶ˇ
ReplyDelete這樣就不用為了一個圖片還要畫三四張~
不然懶人好用還可以省去下載的時間 XD
--
corAusir 程式逗設計
提供平面設計 與 程式設計 的資料~
blog.corausir.org
或點我的名字來我家 ^^
= =...你留言可以喔...但是別每個都留簽名檔捏...因為點你的名字一樣可以連到你要設的連結喔...
ReplyDeleteHI!Erin大師
ReplyDelete有朋友想請你當講師!
跪求聯絡方式!
哎呀呀,原來Erin有blog。
ReplyDelete你好~我是CJ啦 :)
XD 哈哈~你好啊 CJ ~聽聞你大名很久了,你最近的粒子 library 線上影片教學很棒喔!
ReplyDelete噢,Erin有看呀~真榮幸 :)
ReplyDelete