06/13: Movieclipに、jpg、swfを読み込む
Category: ActionScript
Posted by: sato
Flash MX 2004から実装された、MovieClipLoaderクラスを使用すると、読み込み状況の確認や、読み込み完了時処理の定義などを、簡単に行うことができます。
ステージ上に、
画像読み込み用ムービークリップload_mc
読み込み開始実行用ムービークリップstart_mc
を配置してある状態で、ルートタイムラインに以下のActionScriptを記述します。
start_mcをクリックすると、load_mcに画像を読み込みます。
サンプルはこちらからダウンロードできます。
zipファイル[310clicks]
ステージ上に、
画像読み込み用ムービークリップload_mc
読み込み開始実行用ムービークリップstart_mc
を配置してある状態で、ルートタイムラインに以下のActionScriptを記述します。
//MovieClipLoader作成
cLoad = new MovieClipLoader();
//リスナー作成
cLsnr = new Object();
//リスナーを登録
cLoad.addListener(cLsnr);
//「読み込み」を押したら読み込み開始
start_mc.onPress = function(){ cLoad.loadClip("pic.jpg",load_mc); }
//リスナーイベント
cLsnr.onLoadComplete = function(target_mc){
//ダウンロードが完了した時に呼び出されます。
//ただし、ムービークリップの初期化が完了していないので、
//ムービークリップのプロパティ(_width)などにアクセスしたい場合は、
//onLoadInitの方が良いです。
//ここでのtarget_mcは、load_mcを指します。
}
cLsnr.onLoadError = function(target_mc, errorCode){
//ロードに失敗した時に呼び出されます。
//errorCodeにエラーコードが渡されます。
trace(errorCode);
}
cLsnr.onLoadInit = function(target_mc){
//読み込んだファイルの先頭フレームアクションが実行された時に呼び出されます。
//ムービークリップの初期化なども済んでいるため、
//画像のサイズを確認したい場合などに有効です。
trace("画像の横幅" + target_mc._width);
//load_mcは、読み込み前50*50のサイズにしてありますが、
//このイベントが発生した時には、読み込んだ画像のサイズになっています。
}
cLsnr.onLoadProgress = function(target_mc, loadedBytes, totalBytes){
//ダウンロードしているファイルが、ディスクに書き込まれるたびに呼び出されます。
//ダウンロードの進捗状況を確認することができます。
trace(loadedBytes + "/" + totalBytes);
//↑ダウンロードにかかる時間があまりに短い場合、表示されません。
}
cLsnr.onLoadStart = function(target_mc){
//ダウンロードが正常に開始できた時に呼び出されます。
trace("ダウンロード開始できました。");
}
start_mcをクリックすると、load_mcに画像を読み込みます。
サンプルはこちらからダウンロードできます。
zipファイル[310clicks]