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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     「ダウンロード完了」を知りたいものが複数ある場合
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kirarin
Åê¹ÆNo.3721
投稿日時: 2004-2-12 11:28
職人
居住地: 彩の国
投稿: 214
使用環境:
Windows7
IE 8
Flash CS4
Flash Player WIN 10,0,45,2
-------------------------
WindowsXP Professional SP3
IE7.0
Flash 8 Professional
Flash Player 10.0.12.36
-------------------------
Windows2003 Sp1
IE6.0 SP1
Flash MX 2004 ...
「ダウンロード完了」を知りたいものが複数ある場合
お世話になっております。
Kirarinです。

BGM1.mp3のダウンロード完了とともに、フレーム(start)を開始するよう、以下のようなスクリプトを記述しました。

_root.sw_BGM = new Sound(this);
_root.sw_BGM.onLoad = function(success) {
	if (success) {
		//ロード成功
		_root.gotoAndPlay("start");
	} else {
		//ロードNG
	}
}
_root.sw_BGM.loadSound("BGM1.mp3", false);

これはこれでうまく動作したのですが、実はもう一つダウンロードしたいサウンド(BGM2.mp3)があります。
2つのサウンド(BGM1.mp3とBGM2.mp3)のダウンロードが完了してからフレーム(Start)へ飛んで欲しい場合、どのように記述したらよいのでしょうか?

「ロード成功」の部分に、↑のような記述を入れ子していけばよいのかとも思ったのですが、それではあまり綺麗な書き方ではないような気がして・・・
スマートな方法がありましたら、ぜひ教えていただけますでしょうか?
よろしくお願い致します。m(__)m


----------------
Kirarin

野中文雄
Åê¹ÆNo.3723
投稿日時: 2004-2-12 12:58
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 「ダウンロード完了」を知りたいものが複数ある場合
MP3サウンドファイルふたつなら、入れ子にしてもよいとは思います。数があるときは、配列に入れて管理する方法が考えられます。
引用:
kirarinさんは書きました:
_root.sw_BGM = new Sound(this);
_root.sw_BGM.onLoad = function(success) {
	if (success) {
		//ロード成功
		_root.gotoAndPlay("start");
	// [中略]
}
_root.sw_BGM.loadSound("BGM1.mp3", false);

これはこれでうまく動作したのですが、実はもう一つダウンロードしたいサウンド(BGM2.mp3)があります。
2つのサウンド(BGM1.mp3とBGM2.mp3)のダウンロードが完了してからフレーム(Start)へ飛んで欲しい場合、どのように記述したらよいのでしょうか?

「ロード成功」の部分に、↑のような記述を入れ子していけばよいのかとも思ったのですが、それではあまり綺麗な書き方ではないような気がして・・・

// _root
// Soundインスタンスのターゲット用にmy0_mcとmy1_mcを配置
// フレームアクション
var nID = 0;
var sounds_array = new Array();
sounds_array.push(["BGM1", new Sound(my0_mc)]);
sounds_array.push(["BGM2", new Sound(my1_mc)]);
xLoadSound();
function xLoadSound() {
	if (nID<sounds_array.length) {
		var sound_str = sounds_array[nID][0]+".mp3";
		var my_sound = sounds_array[nID][1];
		my_sound.onLoad = xOnLoad;
		my_sound.loadSound(sound_str, false);
		++nID;
	} else {
		xLoadComplete();
	}
}
function xOnLoad(bSuccess) {
	if (bSuccess) {
		//ロード成功 
	} else {
		//ロードNG 
	}
	xLoadSound();
}
function xLoadComplete() {
	nID = 0;
	_root.gotoAndPlay("start");
}
// サウンド再生用関数(おまけ)
function xPlaySound(nSoundID) {
	for (var i = 0; i<sounds_array.length; ++i) {
		sounds_array[it][it].stop();
	}
	var my_sound = sounds_array[nSoundID][1];
	my_sound.start();
}


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

kirarin
Åê¹ÆNo.3725
投稿日時: 2004-2-12 13:09
職人
居住地: 彩の国
投稿: 214
使用環境:
Windows7
IE 8
Flash CS4
Flash Player WIN 10,0,45,2
-------------------------
WindowsXP Professional SP3
IE7.0
Flash 8 Professional
Flash Player 10.0.12.36
-------------------------
Windows2003 Sp1
IE6.0 SP1
Flash MX 2004 ...
Re: 「ダウンロード完了」を知りたいものが複数ある場合
再生用の関数まで、ありがとうございましたm(__)m

なるほど、配列にはこんな使い方もあるのですね。
今回は2つでしたが、以降、3つ4つとダウンロードする可能性は大だったので、大変参考になりました。
この方法はサウンドに限らず、他でも使えそうですね(φ(..)メモメモ)

ありがとうございました(*^∇^*)


----------------
Kirarin

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

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