按钮上的快速滚动会导致另一个标签滚动(MovieClip按钮)



我是AS3/Flash和stackoverflow的新手,并试图浏览不同的线程。

我的问题是,当我在一个按钮上滚动得太快时,按钮会滚动到"点击"状态。我有一个测试器来调试"hit!",当这个错误发生时,测试人员不会显示"hit"这一行,所以我知道它实际上并没有注册用户输入的点击。

有趣的是,这个问题也只发生在我从按钮的底部或顶部垂直移动到另一边时。更快的FPS似乎可以减少这种效果,但它仍然存在。我试图摆脱我的打击区域层,认为它是罪魁祸首的问题,但即使这样,它没有做任何事情。

我会把。fla贴出来,万一有人能弄明白,我会很感激的,因为它已经把我逼疯了。

https://dl.dropboxusercontent.com/u/18672917/Main_Btn_7halp6.fla

这是我使用的代码,以防有人想要从可能的编码错误中找出它。(另外,better_mc.Hit。_visible = false;似乎行不通)

import flash.events.MouseEvent;
stop();
better_mc.addEventListener(MouseEvent.ROLL_OVER, betterOver);
better_mc.addEventListener(MouseEvent.ROLL_OUT, betterOut);
better_mc.addEventListener(MouseEvent.CLICK, betterClick);
function betterOver(evt:MouseEvent):void{
    better_mc.gotoAndPlay("Over");
    }
function betterOut(evt:MouseEvent):void{
    better_mc.gotoAndPlay(27- (better_mc.currentFrame-10));
    }   
function betterClick(event:MouseEvent):void {
better_mc.gotoAndPlay("Click");
}

better_mc.hitArea = better_mc.Hit;
better_mc.addEventListener(MouseEvent.MOUSE_DOWN, Hitbox);
function Hitbox (event:MouseEvent){
trace("hit! "+this.name);
better_mc.Hit._visible = false;
};

好的,知道了。

您对rollout的计算产生了一个问题

function betterOut(evt:MouseEvent):void{
    **better_mc.gotoAndPlay(27- (better_mc.currentFrame-10));**
    } 

这个表达式有时返回第28帧,它在第27帧的stop()之前,所以它继续播放整个点击动画。

(

27) - better_mc.currentFrame-10

尝试在点击动画开始之前添加'stop()'的简单解决方案,即在这种情况下的第31帧。

看看这是否对你的问题进行了分类。

不能打开你的fla,因为我有CS5,所以没有太多的帮助

不知道为什么你需要点击和鼠标按下事件,代码似乎很好,除了gotoAndPlay(labelname)部分,因为不知道如何在这里添加动画

只是查询的最后一部分

(better_mc.Hit。_visible = false;似乎行不通)

对于AS3,属性'visible'被使用,而不是'_visible',所以它将是,

better_mc.Hit.**visible** = false;

最新更新