Flash CS5中事件发生后交叉淡入淡出声音

时间:2012-07-10 16:46:47

标签: actionscript-3 audio flash-cs5

我希望在Flash CS5中的事件(例如按下按钮)后交叉淡化两个声音文件。 理想情况下,第一个声音循环直到按下按钮,此时淡出将开始,声音2同时淡入。我对动作3的理解非常有限。 谢谢你的帮助:)

1 个答案:

答案 0 :(得分:0)

为了达到这个效果,你需要使用两个soundChannels。因为你使用cs5我假设你正在循环你的第一个声音文件(如果不是你应该):

var sc1:SoundChannel = myFirstSound.play(0, 999);

现在,当调用事件(单击按钮)时,您将希望减小第一个声音文件的音量并增加第二个声音文件的音量。为此,您可以在soundChannels上使用soundTransform属性。这将是降低音量的一个例子。

sc1.soundTransform = new SoundTransform(sc1.soundTransform.volume - .1, 0);

你会在enterframe循环中减小第一个声音文件的音量。同样在这个循环中你需要增加第二个声音文件的音量:

var sc2:SoundChannel = mySecondSound.play(0, 999);
sc2.soundTransform = new SoundTransform(0, 0);

然后在enterframe循环内增加第二个声音,它将与上面相同,但是加法而不是减法:

sc2.soundTransform = new SoundTransform(sc2.soundTransform.volume + .1, 0);
在这种情况下,.1是褪色声音的速度有多快。你可能不得不玩弄它。一旦第一个声音文件音量达到零,你应该删除它并结束循环。无论如何,我认为这是足够的信息,以完成您的目标。祝你好运。