【问题标题】:weird behaviour on stage resize舞台调整大小的奇怪行为
【发布时间】:2011-08-24 09:54:58
【问题描述】:

当我将鼠标悬停在蓝色 mc 上时,带有图片的导航就会展开。 每当鼠标悬停在导航上时,导航都会保持展开状态。 一旦鼠标离开导航,它就会移回蓝色 mc 下方。

当它被加载时,它确实像它应该的那样。 调整舞台大小使整个父 mc 居中。

问题:stage-resize 会导致导航的 MOUSE_OUT 事件触发,即使鼠标没有离开 navigation-mc。

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)。但奇怪的是,只有当我调整舞台大小时,才会出现失败。即使鼠标在导航中,导航也会向后移动。

【问题讨论】:

  • 如何在不关闭导航的情况下调整舞台大小?如果它是用代码完成的,你可以发布它吗?
  • 是的,在调整舞台大小时,导航会向后移动。但是,当调整大小并再次扩展导航时,鼠标区域又不一样了。我可以想象 MouseEvents 之间存在混淆:当我在 Navigation(onNavOver) 结束时,离开 bluemc 会同时触发...

标签: actionscript-3 mouseevent stage


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-09
    • 1970-01-01
    • 2019-04-17
    • 1970-01-01
    相关资源
    最近更新 更多