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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     関数から戻るタイミング
投稿するにはまず登録を

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
みっく
Åê¹ÆNo.23120
投稿日時: 2006-1-25 18:31
常連
居住地: 尾張
投稿: 116
使用環境:
PC:iBook G4 (1.42GHz)
OS: (10.4.10)
FL: &
Re: 関数から戻るタイミング
どもです
まだ完成ではないのですが
とりあえず形になったのでアップしてみました

ちなみにいつもお世話になってる野中さんに敬意を表して
画像はペンギンにしてみました(笑)

サンプル
ダウンロード

でも今回の件では自分的にすごく勉強になったと言うか
発見が有りました

例えば
通常
trace(this)
を実行すると
自分自身の「パス」が表示されると思うんですが
クラスで実行するとメンバ(?)が表示されるとか
配列に配列を代入すると配列の別名(エイリアスみたいなの?)
になるとか...など

まぁ 皆さん既にご存知の事ばかりだとは思いますが...(^^;
みっく
Åê¹ÆNo.23065
投稿日時: 2006-1-23 16:48
常連
居住地: 尾張
投稿: 116
使用環境:
PC:iBook G4 (1.42GHz)
OS: (10.4.10)
FL: &
Re: 関数から戻るタイミング
引用:
でも、サンプル1に比べると、サンプル2は
一度に1ファイルの読み込みしかしていないので、
表示に時間がかかっているような気がします。

確かにそーかもしれませんが
画像のサイズが(将来的には決まるかもしれないですが)決まってないのでプログレスバーを付けた方が良いかなと思っているので
サンプル2の方が都合が良いと思うんです

まぁ あまり数が増えたら一度に読み込む枚数を制限しなければいけないかも知れないですね
ひろゆき
Åê¹ÆNo.23062
投稿日時: 2006-1-23 13:22
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: 関数から戻るタイミング
引用:
やりたかったのは まさにこれです
特に「サンプル2」なんかそのまま使えそうなほどです

でも、サンプル1に比べると、サンプル2は
一度に1ファイルの読み込みしかしていないので、
表示に時間がかかっているような気がします。

なので、画像の枚数が多い場合には、注意した方がいいかもしれません。
#個人的には、順次表示される方が気持ちいいんですけど。


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

みっく
Åê¹ÆNo.23061
投稿日時: 2006-1-23 13:09
常連
居住地: 尾張
投稿: 116
使用環境:
PC:iBook G4 (1.42GHz)
OS: (10.4.10)
FL: &
Re: 関数から戻るタイミング
引用:

ひろゆきさんは書きました:
せっかくの機会なので、何パターンか試してみました。

サンプル1」(同時に読み込む)
サンプル2」(順に読み込む)
サンプル3」(すべて読み込まれてから表示)

複数を同時に読み込んでも、問題ないですね。
すごいよ。MovieClipLoader!

やりたかったのは まさにこれです
特に「サンプル2」なんかそのまま使えそうなほどです
参考にさせていただきます

ありがとうございました
ひろゆき
Åê¹ÆNo.23052
投稿日時: 2006-1-23 0:29
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: 関数から戻るタイミング
せっかくの機会なので、何パターンか試してみました。

サンプル1」(同時に読み込む)
サンプル2」(順に読み込む)
サンプル3」(すべて読み込まれてから表示)

複数を同時に読み込んでも、問題ないですね。
すごいよ。MovieClipLoader!


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

野中文雄
Åê¹ÆNo.23049
投稿日時: 2006-1-22 22:47
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 関数から戻るタイミング
「ActionScript 2.0リファレンスガイド」の記載は、わかりにくいですね。ただ、複数のSWFを同時にMovieClipLoader.loadClip()メソッドで指定することは、差し支えないものと考えます。

[ActionScript 2.0 リファレンスガイド] > [loadClip (MovieClipLoader.loadClipメソッド)]より引用:
「このメソッドを使用すると、複数の SWF ファイルを同時に表示し、別の HTML ドキュメントをロードせずに SWF ファイルを切り替えることができます。」

引用:
ひろゆきさんは書きました:
MovieClipLoader.loadClip()で複数のファイルをロードの意味
というスレッドもあるんですが。

実際、Flash 8付属のサンプル[Flash 8アプリケーション]/Samples and Tutorials/Samples/ActionScript/Galleries/gallery_tween.flaを見ると、forステートメント中でMovieClipLoader.loadClip()メソッドを連続して呼出しています。
/* create a function which loops through the images in an array,
   and creates new movie clips on the Stage. */
function displayGallery(gallery_array:Array) {
	var galleryLength:Number = gallery_array.length;
	// loop through each of the images in the gallery_array.
	for (var i = 0; i<galleryLength; i++) {
		/* create a movie clip instance which holds the image. We'll also set a variable, 
		   thisMC, which is an alias to the movie clip instance. */
		var thisMC:MovieClip = this.createEmptyMovieClip("image"+i+"_mc", i);
		
		/* load the current image source into the new movie clip instance, 
		   using the MovieClipLoader class. */
		mcLoader_mcl.loadClip(gallery_array[i].src, thisMC);

ただし、ロードされる順序は、MovieClip.loadClip()メソッドの呼出し順と一致するとはかぎりません。ロードの順序を特定したい場合には、ひとつずつ順に読込む必要があるでしょう。


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

ひろゆき
Åê¹ÆNo.23048
投稿日時: 2006-1-22 19:22
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: 関数から戻るタイミング
引用:
なるほど 一度用意しておけば
何度も使い回せるんですね

入れ子構造、内側のfunctionから外側のfunctionを呼び出したい
などに書かれていますね。

引用:
画像の読み込みが終わってから
次の画像を読み込んだ方が良いと言う事ですね

MovieClip.loadMovide の場合だけかもしれません。
2つの画像をloadMovieして読み込み待ち

MovieClipLoader の場合、複数のファイルを同時に読み込むのはダメだ
という記事は見たことがないのですが、小心者なので、
そのようにしておいてもいいのではないかと。
MovieClipを外部ファイルごとduplicateできるの?

ただ、それをしなくても、問題が起きなければ、
さほど気にしなくてもいいかもしれません。
MovieClipLoader.loadClip()で複数のファイルをロードの意味
というスレッドもあるんですが。

曖昧な言い方で申し訳ないです。


例えば、file2.jpg は load_mc2 に、file5.jpg は load_mc5 に読み込むとして
var my_mcl:MovieClipLoader = new MovieClipLoader();
var oListener:Object = new Object();
oListener.onLoadInit = function(target_mc:MovieClip):Void {
	//1枚の画像が読み込み完了したときの処理
	//target_mc._visible = false;
	var nextNum:Number = this.imgNum+1;
	loadImageInOrder(nextNum);
}
my_mcl.addListener(oListener);

loadObj.onLoad = function(bSuccess:Boolean):Void  {
	if (bSuccess) {
		for (var i:Number = 0; i < 画像の枚数; i++) {
			//_root.createEmptyMovieClip("load_mc"+i, i+1);
		}
		loadImageInOrder(0);
	}
};

function loadImageInOrder(imgNum:Number):Void {
	if (imgNum < 画像の枚数) {
		var fileName:String = "file"+imgNum+".jpg";
		var load_mc:MovieClip = this["load_mc"+imgNum];
		oListener.imgNum = imgNum;
		my_mcl.loadClip(fileName, load_mc);
	} else {
		//すべての画像の読み込みが完了したときの処理
		//_root.gotoAndStop(2);
	}
}
というような感じで。


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

みっく
Åê¹ÆNo.23047
投稿日時: 2006-1-22 19:18
常連
居住地: 尾張
投稿: 116
使用環境:
PC:iBook G4 (1.42GHz)
OS: (10.4.10)
FL: &
Re: 関数から戻るタイミング
フォローありがとうございます

なるほど 一度用意しておけば
何度も使い回せるんですね

引用:
あと、できれば、画像は一度に読み込まないようにした方が無難かと。

と言う事は
画像の読み込みが終わってから
次の画像を読み込んだ方が良いと言う事ですね
ひろゆき
Åê¹ÆNo.23044
投稿日時: 2006-1-22 19:00
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: 関数から戻るタイミング
MovieClipLoader が何度も生成されるように思うので、
var my_mcl:MovieClipLoader = new MovieClipLoader();
var oListener:Object = new Object();
oListener.onLoadInit = function(target_mc:MovieClip) {
	/* 画像読み込み完了後の処理 */
}
my_mcl.addListener(oListener);

/* 読み込み完了時の処理 */
loadObj.onLoad = function(bSuccess:Boolean):Void  {
	if (bSuccess) {
		for (var i:Number = 0; i < 画像の枚数; i++) {
			my_mcl.loadClip(ファイル名, ムービークリップ);
		}
	}
};
とか
/* 読み込み完了時の処理 */
loadObj.onLoad = function(bSuccess:Boolean):Void  {
	if (bSuccess) {
		var my_mcl:MovieClipLoader = new MovieClipLoader();
		var oListener:Object = new Object();
		oListener.onLoadInit = function(target_mc:MovieClip) {
			/* 画像読み込み完了後の処理 */
		}
		my_mcl.addListener(oListener);
		for (var i:Number = 0; i < 画像の枚数; i++) {
			my_mcl.loadClip(ファイル名, ムービークリップ);
		}
	}
};
でも、いいように思います。

あと、できれば、画像は一度に読み込まないようにした方が無難かと。


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

みっく
Åê¹ÆNo.23043
投稿日時: 2006-1-22 18:55
常連
居住地: 尾張
投稿: 116
使用環境:
PC:iBook G4 (1.42GHz)
OS: (10.4.10)
FL: &
Re: 関数から戻るタイミング
遅くなって申し訳有りません

「MovieClipLoader」を使ってうまくいきました
ありがとうございます

一応フィードバックと言う事で
簡略化したコードを載っけておきます

MovieClipLoaderサンプル ----------

//////////////////////////////
// 複数画像読み込みサンプル //
//////////////////////////////

/* 変数宣言 */
var loadObj:LoadVars = new LoadVars();

/* 読み込み完了時の処理 */
loadObj.onLoad = function(bSuccess:Boolean):Void  {
	if (bSuccess) {
		for (var i:Number = 0; i < 画像の枚数; i++) {
			var my_mcl:MovieClipLoader = new MovieClipLoader();
			var oListener:Object = new Object();
			oListener.onLoadInit = function(target_mc:MovieClip) {
				/* 画像読み込み完了後の処理 */
			}
			/* リスナー登録 */
			my_mcl.addListener(oListener);
			/* 画像読み込み */
			my_mcl.loadClip(ファイル名, ムービークリップ);
		}
	}
};

/* ファイル読み込み */
loadObj.load(ファイル名);

とりあえず
ちゃんと動いてますので
コード的にも問題無いと思います
(1) 2 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ

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