2011-05-05 60 views
0

我有一個發光效果(glowIn)被應用到一個應用了startDelay的翻轉對象上。我有另一個發光效果(glowOut)在推出。如果用戶在glowIn的startDelay期間鼠標失控,我想取消該效果。我該怎麼做呢?Adob​​e Flex:如何在啓動延遲期間取消效果?

在這個例子中,我使用了一個300毫秒startDelay的發光效果。我希望在項目實際顯示效果之前暫停一段時間,但如果用戶在此期間將鼠標懸停在外,我不希望播放效果。我設置屬性如下:

component.setStyle("rollOverEffect", glowIn); 
component.setStyle("rollOutEffect", glowOut); 

我不認爲它很重要得多,但有問題的部件是都在運行時創建的,所以我會在ActionScript喜歡解決方案,而圖表中的一系列如果可能的話比mxml。

+0

我會如果我能得到可以接受的答案。 :) – Shawn 2011-05-05 13:22:19

+1

試試這個[link](http://butterfliesandbugs.wordpress.com/2008/04/02/creating-smooth-rollover-and-rollout-effects/)。有一個例子顯示瞭如何在flex中創建平滑的轉換和轉出效果。 – Kyle 2011-05-05 16:58:59

回答

0

我無法找到這個問題的完美解決方案,所以我最終做的是爲控件上的MouseOver和MouseOut設置一個鼠標事件處理程序,設置全局效果並檢查effect.isPlaying()鼠標事件處理程序。

但是,在啓動延遲播放時中斷效果時存在一些不一致,並且存在一些奇怪的結果。我設置了一個基本的Resize效果,發現如果在啓動延遲期間將鼠標移出,效果將被正確取消。但是,如果我在開始效果時出現mouseOut,則控件會繼續失控。