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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     プログレスローダーの読込状況の表示について
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
miyaryu
Åê¹ÆNo.42972
投稿日時: 2009-7-21 14:34
常連
居住地:
投稿: 79
使用環境:
プログレスローダーの読込状況の表示について
下記コードのようにLoaderクラスを使い、画像パス(path)をもとにローディング作業を行っています。これにプログレスバーを追加しようと考えており、プログレスバー用のカスタムクラスを作成しました。ローディング作業自体はProgressLoaderクラスにて実行し、ロード状況をProgressLoaderImageクラスに渡しているという状況です。
しかし、ローディング自体はうまくいって読み込まれるものの、肝心なプリローダーが表示されません。
表示リストaddChildへの追加については、ProgressLoaderクラスのコンストラクタ内で行っているのですが、表示されてないもようです。
表示リストへの追加が悪いと重い、numChildrenにて追加状況をデバッグしてみると、追加自体はうまくいっているようです。(1個カウントされます。)
何か注意すべき点を見落としているのでしょうか?

package{
import flash.display.*;
import flash.events.*;
import flash.net.URLRequest;

public class ProgressLoader extends MovieClip {
public static const LOAD_COMPLETE:String = "load_complete";
private var _loader:Loader;
private var _loaderInfo:LoaderInfo;
private var _bytesLoaded:Number = 0;
private var _bytesTotal:Number = 0;
private var progressBar:ProgressLoaderImage;

// コンストラクタ:
public function ProgressLoader (path:String) {
_loader = new Loader ;

//ローダーイベント
_loaderInfo = _loader.contentLoaderInfo;
_loaderInfo.addEventListener (ProgressEvent.PROGRESS,onProgress,false,0,true);
_loaderInfo.addEventListener (Event.COMPLETE,onComplete,false,0,true);

//プログレスローダーイメージ表示
progressBar = new ProgressLoaderImage();
addChild (progressBar);

//同期型エラー処理
try {
_loader.load (new URLRequest(path));
} catch (err:Error) {
trace ("ドキュメントをロードできません:\n"+err.message);
}
}

//プログレスローダー
private function onProgress (e:ProgressEvent):void {
var _loadPercent:int = Math.round(e.bytesLoaded / e.bytesTotal * 100);
_bytesLoaded = e.bytesLoaded;
_bytesTotal = e.bytesTotal;

progressBar.onProgressTo (_loadPercent,_bytesLoaded,_bytesTotal);
}

//ロード完了
private function onComplete (e:Event):void {
_loaderInfo.removeEventListener (ProgressEvent.PROGRESS,onProgress);
_loaderInfo.removeEventListener (Event.COMPLETE,onComplete);
_loaderInfo = null;

removeChild (progressBar);
progressBar = null;

dispatchEvent (new Event(LOAD_COMPLETE));
}

//ゲッターアセット(ロードデータをゲット)
public function get progressLoader ():Loader {
return _loader;
}

}
}
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
 » プログレスローダーの読込状況の表示について miyaryu 2009-7-21 14:34
     Re: プログレスローダーの読込状況の表示について mayor 2009-7-21 15:18
       Re: プログレスローダーの読込状況の表示について miyaryu 2009-7-21 17:04

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