2013-06-12 92 views
0

我有一个按钮,我想用它来静音音频,当它被点击时它将变成非静音图标,并来回切换。AS3按钮不隐藏

事情是,它在我的代码之后的阶段仍然可见。最奇怪的是,如果我在调用函数后追踪可见性,实际上它会隐藏它:但它在舞台上清晰可见。

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; 
} 

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

  • 我的影片剪辑是绝对称为play_pause
  • 它的痕迹,这是在点击后的前点击可见和不可见(trace语句回来假),但有没有视觉变化
  • 功能绝对触发

我没有使用AS3一会儿,我猜我正在做一个真正的小白错误?全码:http://pastebin.com/RirGdS1w

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

+0

100%适合我! – Cherniv

+1

试试play_pause.gotoAndPlay(2);到'play_pause.gotoAndStop(2)';'它像一个时间线一样工作,如果你要求它播放,它会跳到下一帧,直到它被告知停止。 – tailedmouse

+0

感谢您抽出时间查看 – Djave

回答

0

也许别人可以充分说明这一点,但我发现,一旦SWF嵌入到HTML页面它的工作如预期。在Flash CS5.5中运行的是,它不能正常工作。这将成为调试的噩梦,但为了项目的目的,我希望它能够正常工作。

0

尝试e.currentTarget侦听器函数内

目标是最深的元件,像另一个的movieclip

currentTarget当前内部的moviclip与addEventListener方法相关联的一个

+1

我确实尝试了e.currentTarget,应该把它放在上面 - 我开始认为这是一个Flash错误,因为一旦嵌入浏览器,一切都运行良好。谢谢 – Djave