舞台上的奇怪行为调整大小

时间:2011-08-24 09:54:59

标签: actionscript-3 mouseevent stage

一旦我盘旋蓝色的mc,带有图片的导航就会扩展。 只要鼠标悬停在导航上,导航就会保持扩展状态。 一旦鼠标离开导航,它就会在蓝色mc下方向后移动。

加载后,确实应该这样。 调整阶段的大小以整个父母为中心。

问题:阶段调整大小会导致导航的MOUSE_OUT事件触发,即使鼠标没有离开导航-mc。

enter image description here

private function onNavOver(e:MouseEvent):void
    {
        this._bluemc.removeEventListener(MouseEvent.MOUSE_OVER,onMouseAreaBottomOver);
        this._bluemc.removeEventListener(MouseEvent.MOUSE_OUT,onMouseAreaBottomOut);
        TweenLite.to(this._navigation,0.7,{y:this._offsetY,ease:Expo.easeInOut});
        TweenLite.killTweensOf(this._navigation,false); 
    }
private function onNavOut(e:MouseEvent):void
    {
        this._bluemc.addEventListener(MouseEvent.MOUSE_OVER,onMouseAreaBottomOver,false,0,true);
        this._bluemc.addEventListener(MouseEvent.MOUSE_OUT,onMouseAreaBottomOut,false,0,true);
        TweenLite.to(this._navigation,0.7,{y:this._initialY,ease:Expo.easeInOut});


    }

上面的代码是在导航过度或超出导航时调用的事件函数。 将删除bluemc事件以保持导航打开。我认为这是一个潜在的冲突:蓝色mc的MOUSE_OUT事件可以在删除之前触发(onNavOver)。但奇怪的是,只有当我调整舞台大小时,才会出现故障。即使鼠标正在导航,导航也会向后移动。

1 个答案:

答案 0 :(得分:0)

我明白了: 事件混淆:通过添加ROLL_OVER / OUT事件而不是MOUSE_OVER / OUT来解决 并且有一个看不见的MC集:mc.y = stage.stageHeight - >在stageResize上,它的位置与导航重叠,因为它没有更新。