這個範例會運用到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
沒有留言:
張貼留言