2009-04-23 37 views
0

我在維護一個ActionScript 2應用程序,它使用createEmptyMovieClip創建下拉列表(作爲影片剪輯附加的列表項目)。顯然,我可以通過removeMovieClip等直接關閉下拉菜單。通過在AS2應用程序中單擊外部來關閉下拉菜單?

我的問題是這樣的:下拉不僅應該關閉,當一個項目被點擊或創建它的按鈕被再次觸發,而且任何時候用戶點擊下拉以外的任何地方(如onReleaseOutside,除了點擊也STARTS外)。

到目前爲止,我可以看到的唯一解決方案是通過證明onRelease來將_root(或不可見圖層)變成按鈕,但這樣做使得_root被Flash看作按鈕(指針鼠標光標和所有這一切)。不要!

回答

1

我剛剛推薦你做你不想做的事情,因爲它 hackish。 設置一個鼠標監聽器可能是一個選項...(我畫上真的很快[MC] ...)

MouseListener = new Object() 
Mouse.addListener(MouseListener) 
MouseListener.onMouseDown=function(){ 
    trace ("heard:'DOWN'") 
    // do your call to close the button here, perhaps? 
} 

another.onPress=function(){ 
    trace ("pressed!") 
} 

我想不出更好的辦法,只是還沒有...

的上面的代碼並沒有修復太多,但是它表明你可以聽取點擊以及做相對於你點擊的內容的東西,並且它們是兩個獨立的動作。

相關問題