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 はアニメーションの名前です。このコードを、アニメーションが作成される場所 (たとえば、アニメーションを保持する親スプライトの最初のフレーム) に配置します。

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 に答える