这也是我提出的一个较旧的问题的后续问题,所以如果您不明白,请查看此处了解我来自哪里的详细信息! (我已经解决了这个问题,目前的问题涉及跟进它!)
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);
}
}
}
我的问题正试图让脚步声与这些动画相匹配。因此,当男人走路时,走路的脚步声就会消失。声音片段将在动画旁边播放和循环,当按下按钮并且动画移动到正在运行的动画中时,“跑步的脚步声”将会出现。声音会播放。
对此的任何帮助将不胜感激。对于任何基于音频/代码的东西,我都很糟糕。
答案 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播放器将根据声音定向并丢弃帧