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

Flash AS3 | Looping sound for each animation set

大学毕业后,我终于有时间回去练习我的 Flash 作品,我需要一些帮助来让声音循环播放并根据动画的播放部分进行更改。

这在一定程度上也是我问过的一个较早问题的后续问题,所以如果您不明白,请查看此处以获取有关我来自何处的更多详细信息! (我已经解决了那个问题,当前的问题跟进了!)

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

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

}
}

我的问题 试图获得与这些动画相匹配的脚步声。因此,当男人走路时,'walking footsteps' 声音片段将播放并与动画一起循环播放,当按下按钮并且动画进入 运行ning 动画时,'running footsteps''声音会播放。

如有任何帮助,我们将不胜感激。当涉及到任何基于 audio/code 的事情时,我都很糟糕。

嗯,你可以检查一下 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

另请参阅此 link 了解更多信息

如果你想让脚步声真正与动画相匹配(例如,脚步声应该在玩家放下脚时播放),唯一可靠的方法是将声音放在不同的图层上你的动画在哪里并将声音设置为 "stream" (如果我没记错的话)。

否则动画可能会因为不同的计算机性能、当前计算机或显卡负载等原因而不同步。

当声音设置为 "stream" 时,如果图形速度较慢,Flash 播放器会根据声音定向并丢帧以保持声音和动画同步