以下の様に5秒たったら再生を再開させる
スクリプトがあるのですが、ある操作をすると
約半分の秒数で再生が再開されるようになります。
stop();
function wait(){
clearInterval(nID);
play();
}
nID = setInterval(wait, 5000);
[ある操作]
このスクリプトはFLASH本体で読み込む外部swfファイルに記述されています。
同じようなswfが複数あり、本体側のLoaderに交互に表示させたりすると
約3秒で再生が再開されるようになります。
記述に間違いはないでしょうか?
また、この問題の原因と修正方法を探しています。
FLASH-JP.COM - FLASH-japan FORUM
駄目でしたか。
では、Loaderに問題があるかもなので、MCにloadMovieで読み込んだ場合にどうなるか、ですね。
また、現状のLoaderにロードする際に、clearInterval も行うとか。
例)
myLoader.load(”*.swf”);
clearInterval(myLoad.contentHolder.nID);
以前、同様の経験がありましたが、どうにかなりました。
今回のLoaderでの検証まではできていないので、ポイントは結構です。
LoderをLoderで読み込むと出る症状なのでしょうか・・・
単品状態であれば問題なくインターバルが働いてくれているのですが。
もう少し情報を募集して見ます。
複数の外部swfに書いてあるintervalIDの名称をそれぞれ変えてみたらどうでしょうか。
swf AはnIDA、swf BはnIDB、swf CはnIDC、・・・という具合に。
# 違ってたら済みません。
回答ありがとうございます。
今回の原因からまず説明。
setIntervalを使うとインターバル中に別swfを読み込んだ場合に、
clearIntervalされずに延々と繰り返されてしまうという現象がおこったみたいです。
そこで、これの解決法として本体のswfでこの外部swfのIntervalを操作してしまえばIntervalがclearできるみたいです。
(けっこうめんどいみたいです)
なのでgetTimeを使ってインターバルを設置しました。
この場合、ムービーが切り替わった時点でタイマーが全てクリアーされます。
助言ありがとうございます。
早速試してみました。
結果は・・・残念。
症状は治りませんでした。