2009-04-23 40 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!") 
} 

我想不出更好的办法,只是还没有...

的上面的代码并没有修复太多,但是它表明你可以听取点击以及做相对于你点击的内容的东西,并且它们是两个独立的动作。

相关问题