メイン コーダーズルーム【スクリプト系】
プログレスローダーの読込状況の表示について | 投稿するにはまず登録を |
| フラット表示 | 前のトピック | 次のトピック |
| 投稿者 | スレッド |
|---|---|
| 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 |
| |
mayor | 2009-7-21 15:18 |
| |
miyaryu | 2009-7-21 17:04 |
| 投稿するにはまず登録を | |



ログイン


