2007年2月14日 星期三

FleVI - Flex2 visual Interface



FleVI

專為flex2 SDK設計的可視化介面,還在beta階段,要加入他們的 Google Group 才能下載。


(Read more...)

2007年1月29日 星期一

actionscript2 樹狀選單實作 (2)

treedemo2範例檔案下載 這是 actionscript2 樹狀選單實作 的延伸版本。著重於RollOver展開/RollOut收合的時間差效果。

這個範例會運用到flash8 的隱含函數setTimeout/clearTimeout,如果要讓使用該函數的類別通過編譯,您必須在Flash 8\en\First Run\Classes裡的 TopLevel.as多增加兩行:

intrinsic function clearTimeout(id:Number):Void;
intrinsic function setTimeout():Number;

接下來請看asdemo.ui.tree.DemoTree2類別幾個重點部分。

在addNode與addTree函數中,我們必須讓每一個被建立的節點利用while掃出每個上層的父節點,並註冊子節點所發生的RollOver/RollOut事件。才能使得每個父節點清楚跟蹤滑鼠在子節點上的動作。 注意mouseIsOver/mouseIsOut這兩個函數,當他們被呼叫是先改變isMouseOut的Boolean值,接著在利用setTimeout呼叫checkTreeIsOpen/checkTreeIsClose函數來確認isMouseOut的狀態決定打開或關閉。 ps. 這個版本可能有bug,如果有抓到bug希望可以留言告訴我修正,謝謝。:D

(Read more...)

actionscript2 樹狀選單實作

treedemo範例檔案下載 首先先了解一下asdemo.events這個package裡面的as。 - IEventDispatcher.as 所有附有事件廣播機制的類別都必須實作這個介面。 - EventSource.as 實作了IEventDispatcher介面的類別。 asdemo.ui.DispatcherMC繼承了MovieClip並實作IEventDispatcher類別,讓所有繼承該類別都附有事件廣播機制功能。

接下來進行到重點階段,我們先了解asdemo.ui.tree package內兩個介面的繼承關係。一個為INode,一個為ITree。ITree繼承了INode。這代表Itree也含有節點的特性。 - asdemo.ui.tree.INode - asdemo.ui.tree.ITree - INode的繼承關係 TextNode實作了Inode介面,並且會在onRelease發出ButtonEvent.RELEASE事件。 - ITree的繼承關係 首先AbstractTree實作了ITree介面,大部分基本方法已經在這個類別完成。 -setNodePosition方法:在節點被加入時要調整節點位置,當節點被刪除時要重新調整所有節點的位置。 -adjustPosition方法:在節點被刪除時呼叫重新調整所有節點的位置。 -childTreeCloseHandler方法:在同一節點被click時呼叫將其他節點樹關閉。 DemoTree繼承了AbstractTree,並實現兩各尚未實作的抽象方法addNode與addTree。每個被加入的節點會被加入陣列裡,而在addNode裡父節點對子節點註冊ButtonEvent.RELEASE事件,addTree方法裡父節點對子節點樹註冊TreeEvent.TREE_OPEN事件。目的在於當某個節點被click後,通知父節點樹必須將其他同一階層的節點樹關閉。 - asdemo.ui.tree.AbstractTree - asdemo.ui.tree.DemoTree 想實作關於類似樹狀選單可以研究 composite pattern模式 (Read more...)

2007年1月25日 星期四

Alcon



Alcon

這是我搭配 MTASC 開發經常使用的Debug工具,輕巧好用。
(Read more...)

2007年1月22日 星期一

ASIoC



ASIoC

有學習過 Spring 應該對IoC的概念不陌生,這是個實作Ioc的as2 Framework。有興趣的可以參考看看。
(Read more...)

2007年1月20日 星期六

actionscript2 scrollbar 實作分享

scrollbar source下載 首先您要先了解 事件廣播機制 以及 mx.utils.Delegate class委派類的應用

- asdemo.ui.Bar - bar.fla 重點在於當bar node被按下時,會不斷的廣播BarEvent.BAR_MOVING事件,並送出node座標與range相減的差值百分比。 所以只要註冊了BAR_MOVING事件,接著再用收到的比率值來控管你所要移動的物件範圍就可以了。 同樣的原理也可以做出水平的bar拖曳,甚至是as3版本。 另外如果您跟我一樣是 MTASC 的愛好者,mx.utils.Delegate class沒有辦法通過MTASC編譯。所以請記得改用 其他版本 。 MTASC範例在asdemo.examples.BarExample (Read more...)

Hello Fucking World

(Read more...)