嗯...這只是一個懶人小技巧,為了就是省下作 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