大学毕业后,我终于有时间回去练习我的Flash作品了,我需要一些帮助,让声音循环并根据播放的动画部分进行更改。
这在一定程度上也是我问的一个老问题的后续问题,所以如果你不明白,请看这里了解更多关于我来自哪里的细节!(我已经解决了这个问题,目前的问题与后续行动有关!)
Flash AS3|在代码执行之前完成当前动画集
情况是基本的:我有两个不同的场景,一个是一个男人走路,另一个是男人跑步。它无缝地循环男人走路,直到你按下按钮,在那里它完成动画,然后开始循环跑步动画。同样,再次点击按钮,在返回循环行走动画之前完成循环。按钮的代码如下。
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);
}
}
}
我的问题是试图获得与这些动画相匹配的足迹声音。因此,当该男子行走时,"行走的脚步声"声音片段将播放并与动画一起循环,当按下按钮,动画移动到正在运行的动画中时,"正在运行的足迹声"声音将播放。
如有任何帮助,我们将不胜感激。当涉及到任何基于音频/代码的东西时,我都很糟糕。
你可以查看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
也可以查看此链接了解更多信息
如果你想真正将足迹与动画相匹配(例如,当玩家放下脚时,应该播放脚步声),唯一确定的方法是将声音放在动画所在的不同层上,并将声音设置为"流"播放(如果我没记错的话)。
否则,动画可能会因为不同的计算机功能、当前计算机或图形卡负载等原因而不同步。
当声音设置为"流"播放时,如果图形保持声音和动画同步的速度较慢,则flash播放器将在声音上定向并放下帧。