AS3按钮没有隐藏

时间:2013-06-12 19:41:44

标签: actionscript-3 flash visible

我有一个按钮,我想用它来静音,当点击它时会变为非静音图标,并来回切换。

问题是,在我的代码之后,它仍然在舞台上可见。最奇怪的是,如果我在调用函数后跟踪可见性,它实际上表示它隐藏了:但它在舞台上清晰可见。

play_pause.addEventListener(MouseEvent.CLICK, change_sound);

function change_sound (e:MouseEvent):void{
        fl_NS.soundTransform = muteAudio;
        e.target.visible = false;
        trace(play_pause.visible);
        muted = true;
}

以下是我尝试过的其他一些不起作用的事情:

play_pause.addEventListener(MouseEvent.CLICK, change_sound);

function change_sound (e:MouseEvent):void{
        fl_NS.soundTransform = muteAudio;
        play_pause.visible = false;
        trace(play_pause.visible);
        muted = true;
}

另一个版本:

play_pause.addEventListener(MouseEvent.CLICK, change_sound);

function change_sound (e:MouseEvent):void{
        fl_NS.soundTransform = muteAudio;
        play_pause.gotoAndPlay(2);
        muted = true;
}

再没有视觉变化。只是说明一些要点:

  • 我的movieclip 肯定是名为play_pause
  • 它跟踪它在点击之前是可见的,并且在点击之后是不可见的(跟踪语句返回false)但是没有视觉变化
  • 功能肯定会触发

我有一段时间没有使用AS3,我猜我正在犯一个真正的noob错误?完整代码:http://pastebin.com/RirGdS1w

链接到.fla文件:http://db.tt/51DD0Fbl

2 个答案:

答案 0 :(得分:0)

也许其他人可以完全解释这一点,但我发现,一旦 SWF嵌入到HTML页面,它就会按预期工作。当它在Flash CS5.5中运行时,它无法正常工作。现在这将是调试的噩梦,但是为了今晚的项目目的,我让它发挥作用。

答案 1 :(得分:0)

在侦听器函数

中尝试 e.currentTarget

target 是最深的元素,就像另一个movieclip中的moviclip

currentTarget 是与addEventListener方法相关联的