トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     階層を対象にした clearInterval は可能?
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
HOKUTO
Åê¹ÆNo.39152
投稿日時: 2008-6-10 15:47
新米
居住地: 東京都杉並区
投稿: 6
使用環境:
階層を対象にした clearInterval は可能?
clearIntervalの扱い方について質問させて下さい。
当方の制作環境は、書き出しの形式は「Flash Player 8」「ActionScript 2.0」を想定しています。

http://flash-jp.heteml.jp/modules/newbb/viewtopic.php?topic_id=2210&forum=8&post_id=12284#forumpost12284

等、外部swfのsetIntervalを識別子を指定して解除する方法は分かるのですが、
これを識別子単位ではなく、階層(外部swf、mc)単位で一括解除する方法は無いでしょうか?

読み込む外部swfが複数あり、それぞれの中でバラバラな識別子でsetIntervalが実行されているため、
あくまでイメージとしてですが、「clearInterval(_level1);」といった感じで、
対象の階層毎に一括で解除出来ないものかと思っています。

宜しくお願い致します。


----------------

ひろゆき
Åê¹ÆNo.39154
投稿日時: 2008-6-10 18:45
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: 階層を対象にした clearInterval は可能?
clearInterval 自体が1つの識別子を対象としているのですから、
外部swf側で、識別子を管理するようなしくみがないと、難しいように思います。

_root 上にムービークリップ(インスタンス名: mc, btn) を配置。

mc 第1フレームに
var idList:Array = new Array();
for (var n:Number = 0; n < 4; n++) {
	var id:Number = setInterval(this, "func", 500+200*n, n);
	idList.push(id);
}
function func(n:Number):Void {
	trace("test"+n);
}
と記述。

_root 第1フレームに
btn.onRelease = function():Void {
	clearIntervalAll(mc);
};
function clearIntervalAll(target:MovieClip):Void {
	for (var n:Number = 0; n < target.idList.length; n++) {
		var id:Number = target.idList[n];
		clearInterval(id);
	}
}
と記述。


----------------
質問する際は、回答者に具体的な情報を与えてください。

HOKUTO
Åê¹ÆNo.39155
投稿日時: 2008-6-10 19:38
新米
居住地: 東京都杉並区
投稿: 6
使用環境:
Re: 階層を対象にした clearInterval は可能?
mayorさん、ご回答ありがとうございます。
やはりsetInterval自体の対象は「1つの識別子」限定ですよね…
そうなると、リスト管理でローラー掛けるしか無いですね

今回のケースでは、外部swf側はそもそも独立した作品として制作されていて、
後付けという形で、それらをまとめて見せたいという要望が出ました。
外部swfのflaファイルもあるので、そちらに手を入れれば当然制御は可能なのですが、
出来る限りオリジナルの状態で載せたいということで、今回の質問となっていました。
オリジナルをバックアップして手を入れたいと思います。

ありがとうございました!


----------------

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops