Flash Builder 4.6 - ComboBox设置为在底层组件MouseOver上可见,但在ComboBox的MouseOver

时间:2016-04-30 09:50:22

标签: actionscript-3 combobox flash-builder

我有一个ComboBox设置为当它下面的组件悬停时可见,我的问题是,当我将鼠标悬停在ComboBox上时,它会开始闪烁,因为我要离开底层组件。

我的代码是:

<fx:Script>
    <![CDATA[
        private function videoRollOut():void
        {
            controls.visible=false;
        }
        private function videoRollOver():void
        {
            controls.visible=true;
        }   
    ]]>
</fx:Script>

<mx:Canvas width="100%" height="46%">
    <mx:VideoDisplay id="localVideoDisplay" top="0" right="0" bottom="0" left="0" height="100%" width="100%" rollOver="videoRollOver()" rollOut="videoRollOut()"/>  
    <s:VGroup id="controls" bottom="10" right="0" left="0" horizontalAlign="center" visible="false" mouseOver="videoRollOver()" mouseOut="videoRollOut()">
        <s:HGroup verticalAlign="middle">
            <s:Label color="0xFFFFFF" text="Audio: "/>
            <s:ComboBox id="micSelection" change="micChanged(event)"
            dataProvider="{micNames}"/>
        </s:HGroup>
        <s:HGroup verticalAlign="middle">
            <s:Label color="0xFFFFFF" text="Video: "/>
            <s:ComboBox id="cameraSelection" change="cameraChanged(event)"
            dataProvider="{cameraNames}"/>
        </s:HGroup>
    </s:VGroup>
</mx:Canvas>

我试图将相同的mouseOver和mouseOut函数添加到ComboBox,虽然我现在可以将鼠标悬停在ComboBox上而不会闪烁,但当我试图将鼠标悬停在某些选项上时,它会同时保留ComboBox和VideoDisplay,使ComboBox再次不可见,但保持ComboBox的选项可见。

我试图添加一个mouseEnabled =&#34; false&#34; mouseChildren =&#34;假&#34;到ComboBox,然而ComboBox无法使用。

如果有人有任何建议会很棒!

1 个答案:

答案 0 :(得分:1)

您可以在videoRollOut方法中使用类似的内容

controls.visible=controls.getBounds(this).contains(mouseX,mouseY)?true:false;