人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

FLASHのActionScriptの質問です。
以下の様に5秒たったら再生を再開させる
スクリプトがあるのですが、ある操作をすると
約半分の秒数で再生が再開されるようになります。

stop();
function wait(){
clearInterval(nID);
play();
}
nID = setInterval(wait, 5000);

[ある操作]
このスクリプトはFLASH本体で読み込む外部swfファイルに記述されています。
同じようなswfが複数あり、本体側のLoaderに交互に表示させたりすると
約3秒で再生が再開されるようになります。


記述に間違いはないでしょうか?
また、この問題の原因と修正方法を探しています。

●質問者: nyankochan
●カテゴリ:コンピュータ
✍キーワード:ActionScript FLASH swf スクリプト ファイル
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● hal-u
●30ポイント

http://www.yahoo.com/

Yahoo!

小細工ですが、


nID = setInterval(this,”wait”, 5000);


でやってみるといいのかもです。

◎質問者からの返答

助言ありがとうございます。

早速試してみました。

結果は・・・残念。

症状は治りませんでした。


2 ● hal-u
●0ポイント

http://www.flash-jp.com/

FLASH-JP.COM - FLASH-japan FORUM

駄目でしたか。

では、Loaderに問題があるかもなので、MCにloadMovieで読み込んだ場合にどうなるか、ですね。

また、現状のLoaderにロードする際に、clearInterval も行うとか。


例)

myLoader.load(”*.swf”);

clearInterval(myLoad.contentHolder.nID);


以前、同様の経験がありましたが、どうにかなりました。

今回のLoaderでの検証まではできていないので、ポイントは結構です。

◎質問者からの返答

LoderをLoderで読み込むと出る症状なのでしょうか・・・

単品状態であれば問題なくインターバルが働いてくれているのですが。

もう少し情報を募集して見ます。


3 ● starflower
●30ポイント

http://www.hatena.ne.jp/

はてな

複数の外部swfに書いてあるintervalIDの名称をそれぞれ変えてみたらどうでしょうか。

swf AはnIDA、swf BはnIDB、swf CはnIDC、・・・という具合に。

# 違ってたら済みません。

◎質問者からの返答

回答ありがとうございます。

今回の原因からまず説明。

setIntervalを使うとインターバル中に別swfを読み込んだ場合に、

clearIntervalされずに延々と繰り返されてしまうという現象がおこったみたいです。

そこで、これの解決法として本体のswfでこの外部swfのIntervalを操作してしまえばIntervalがclearできるみたいです。

(けっこうめんどいみたいです)

なのでgetTimeを使ってインターバルを設置しました。

この場合、ムービーが切り替わった時点でタイマーが全てクリアーされます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ