Flash AS3 |每个动画集的循环声音

时间:2015-11-27 04:58:24

标签: actionscript-3 flash animation audio

大学毕业后我终于有时间回到练习我的Flash工作了,我需要一些帮助来让声音循环变化,这取决于动画的哪个部分正在播放。

这也是我提出的一个较旧的问题的后续问题,所以如果您不明白,请查看此处了解我来自哪里的详细信息! (我已经解决了这个问题,目前的问题涉及跟进它!)

Flash AS3 | Finishing current animation set before code is executed

情况是基本的:我有两个不同的场景,一个是男人走路,一个是男人跑步。它无缝地循环着走路的人,直到你按下一个按钮,完成动画然后开始循环运行动画。同样,再次按下按钮,在返回循环步行动画之前完成循环。该按钮的代码如下所示。

  import flash.events.MouseEvent;


    Next2.addEventListener(MouseEvent.CLICK, Change_2);

function Change_2(event: MouseEvent): void

{
    addEventListener(Event.ENTER_FRAME, enterFrame);
    function enterFrame(e:Event):void {
    if (currentFrame == 30) {
        gotoAndPlay(31);
        removeEventListener(Event.ENTER_FRAME, enterFrame);
    }

}
}

我的问题正试图让脚步声与这些动画相匹配。因此,当男人走路时,走路的脚步声就会消失。声音片段将在动画旁边播放和循环,当按下按钮并且动画移动到正在运行的动画中时,“跑步的脚步声”将会出现。声音会播放。

对此的任何帮助将不胜感激。对于任何基于音频/代码的东西,我都很糟糕。

2 个答案:

答案 0 :(得分:0)

你可以检查一下soundChannel。 soundChannel可以停止()和播放()你的音频。 因此,输入你的外部声音或使用内部声音。你的代码可能看起来像这样。

var mySound:Sound = new Sound(new URLRequest("YourSoundPath"));
var sc:SoundChannel = new SoundChannel();

//when u wanna play
sc = mySound.play();
//when u wanna stop
sc = mySound.stop();

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/SoundChannel.html

还可以查看此链接以获取更多信息

答案 1 :(得分:0)

如果你想真正匹配动画的足迹(例如,当玩家放下脚步时应该播放步进声音)唯一确定的方法是将声音放在你的另一层上动画是设置声音播放为“流”(如果我没记错的话)。

否则,由于计算机功能,当前计算机或显卡负载等原因,动画可能不同步。

当声音被设置为“流”播放时,如果图形速度很慢以使声音和动画保持同步,则Flash播放器将根据声音定向并丢弃帧