1

当我使用从官方帮助论坛获得的这段代码加载到 Actionscript 时,尝试将音频循环重置为开头时,我遇到了一段时间的问题

var alreadyExecuted:Boolean;
if(!alreadyExecuted){
alreadyExecuted=true;

var s:Sound=new SkaianSpirit();
var sc:SoundChannel=s.play(0,1);
}

我想要它做的是,在动画播放时无限循环,无论定位如何,以及是否使用按钮等跳过了帧,但是当动画结束时,轨道需要结束。此时,如果单击按钮将其发送回动画的开头,我希望它开始与以前相同的循环。目前,它将执行第一部分,但不会重播。

几个警告:

我没有通过 url 加载它。

我没有使用按钮来控制音量等。它是在动画开始时自动播放。

我是一个完整的 Actionscript 新手。如果你用我听不懂的行话猛烈抨击我,我就不知道你在说什么。

我非常感谢您的帮助!

4

1 回答 1

0

我总是使用addFrameScript函数将外部声音与动画同步:

UPD:mc 是您的动画的名称。将此代码放在创建动画的位置(例如,保存动画的父 Sprite 的第一帧)。

var s:Sound=new SkaianSpirit();
var sc:SoundChannel;

mc.addFrameScript(1, startSound); 
mc.addFrameScript(mc.totalFrames - 1, stopSound);

function startSound():void
{
    sc = s.play();
}
function stopSound():void
{
    sc.stop();
}
于 2013-01-03T17:57:52.650 回答