AS3,鼠标悬停甚至超过movieclip的东西

时间:2013-07-12 02:08:45

标签: actionscript-3

假设有一个TOP movieclip

和另一个BOTTOM movieclip

即使TOP覆盖了鼠标,当鼠标超过BOTTOM时如何触发鼠标事件?

2 个答案:

答案 0 :(得分:1)

假设您不想要顶部的任何鼠标事件,请将顶部剪辑的mouseEnabled设置为false。

topClip.mouseEnabled= false;

答案 1 :(得分:0)

如果您不希望禁用topClip鼠标,或者想要在两个影片剪辑上接收鼠标事件,这也可能是解决方案。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" >
    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;

            private function onMouseOver(evt:MouseEvent):void
            {
                if(evt.currentTarget==bottomClip)
                {
                    Alert.show(bottomClip+" CLICKED");
                }
                if(evt.currentTarget==topClip)
                {
                    Alert.show(topClip+" CLICKED");
                }
            }
        ]]>
    </mx:Script>
    <mx:Canvas id="can" width="600" height="400" horizontalCenter="0" verticalCenter="0" borderStyle="solid" borderColor="red" >
        <mx:Canvas id="bottomClip" click="onMouseOver(event)">
            <mx:Canvas id="actualBottomClip" width="400" height="300" x="100" y="50" backgroundColor="red" />
            <mx:Canvas id="topClip" click="onMouseOver(event)">
                <mx:Canvas id="actualTopClip" width="200" height="75" x="50" y="100" backgroundColor="green" />
            </mx:Canvas>
        </mx:Canvas>
    </mx:Canvas>
</mx:Application>