首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用于stage的MOUSE_MOVE和MOUSE_OUT的问题

应用于stage的MOUSE_MOVE和MOUSE_OUT的问题
EN

Stack Overflow用户
提问于 2012-04-10 07:24:16
回答 1查看 117关注 0票数 0

我遇到了MOUSE_OUT被调用的问题,虽然它不应该被调用。我做的事情很简单:当我在舞台上移动鼠标时,会显示两个图像,而当鼠标离开舞台时,它们会隐藏起来。

问题是,每当鼠标点击舞台上任何电影剪辑的边界时,MOUSE_OUT函数都会被调用,从而隐藏两个图像。这意味着每当我移动鼠标时

我的代码(只显示相关部分):

代码语言:javascript
复制
public class Slider extends MovieClip {
    var img1:Img1 = new Img1;
    var img2:Img2 = new Img2;
    var img1_hover:Img1_hover = new Img1_hover;
    var img2_hover:Img2_hover = new Img2_hover;

    public function Slider() {
        img1.alpha = 0;
        img2.alpha = 0;

        stage.addEventListener(MouseEvent.MOUSE_MOVE, showArrows);
    }
    function showArrows(e:MouseEvent) {
         img1.alpha = 1;
         img2.alpha = 1;

         stage.addEventListener(MouseEvent.MOUSE_OUT, hideArrows);
    }
    function hideArrows(e:MouseEvent) {
         img1.alpha = 0;
         img2.alpha = 0;
    }
 }

Flash不会抛出错误。我使用了一个单独的.as文件(只有一个),并且在.fla的动作面板中没有代码。在有根的地方,我也尝试了这个。,stage.addEventListener。除了舞台什么都没有。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-10 08:09:15

您希望使用MOUSE_LEAVE事件而不是http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Stage.html#event:mouseLeave

或者,在hideArrows函数中,可以检查事件的目标:

代码语言:javascript
复制
function hideArrows(e:MouseEvent) {
    If(e.target == stage){
         img1.alpha = 0;
         img2.alpha = 0;
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10081124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档