2012-04-10 91 views
0

我在Flash中遇到了问题。我可能会错误地编码,因为我的大部分代码都是在框架中。声音一次播放多次

所以,我有这两个变量

var outsideDay:Sound = new daysong(); 
var outsideNight:Sound = new nightsong(); 

而且我要到一个特定的帧上播放这些歌曲。然而,这些声音零星地播放,就像50次一样。我认为这是因为我有其他代码通过Enter_Frame函数链接到框架。我怎样才能让声音循环播放而不是一次播放多次?

回答

1

您是否在任何帧中的时间线上的任何位置放置了声音?如果是的话删除该框架。另外,如果你在没有stop();调用的关键帧上声明了你的代码,那么当它“进入”它时,可能会一遍又一遍地重复该帧。尝试在代码的开头或结尾关键帧处添加stop();,无论哪里对您的项目最有意义。

想这两件事情后,我已经学会了另一种方法来爱可以派上用场是:

flash.media.SoundMixer.stopAll(); 

这将停止所有的声音,这样无论声音,你开始做这个调用后不会玩有其他以前开始的声音要与之抗衡。

This sound tutorial也可能对您有用。

让我们知道它是如何发展的,或者这些东西是否有用。

+0

是的,我在关键帧上有停止代码。我忘了提及我正在研究一个涉及点击按钮等的游戏。所有的按钮都有Soudmixer.stopAll();所以可以工作,但声音仍然会一次播放多次。 – 2012-04-10 18:56:02

+0

放一丝(“点击”);在你的点击处理程序中,并检查它是否一次点击多次调用。还要验证按钮中的时间线没有任何声音的图层。 – ToddBFisher 2012-04-10 19:03:20

+0

这些按钮没有被多次调用,并且在任何关键帧上都没有声音。 – 2012-04-10 21:57:25