progressionでは、preloaderからindex.swfを読み込んでいるようです。
Preloader.asからその読み込み状況を取得できるようになっているので、
以下のように記載する事で読み込み完了、状況、エラーが取得できるので
その値を使ってプログレスバーの作成が可能になります。
Preloader.as
public function Preloader() {
// 読み込みたい SWF ファイルの URL を設定します。
url = "index.swf";
// SWF ファイルの URL の起点を、自身の SWF ファイルが存在するフォルダにするかどうかを指定します。
useSWFBasePath = false;
addEventListener(ProgressEvent.PROGRESS, progressListener);
addEventListener(Event.COMPLETE, onCompleteListener);
addEventListener(IOErrorEvent.IO_ERROR, onIOerrorListener);
}
private function onIOerrorListener(event:IOErrorEvent):void {
trace("IOERROR" + event.text);
}
private function onCompleteListener(event:Event):void {
trace("COMPLATE");
}
private function progressListener(event:ProgressEvent):void {
trace(event.bytesLoaded + "/" + event.bytesTotal);
trace(Math.round(event.bytesLoaded / event.bytesTotal * 100));
}
だと思ったら progressionで既にメソッドが定義されているので
以下のようにするだけで、取得できるみたいです。
Preloader.as
protected override function _onCastLoadStart():void {
trace("LoadSTART");
// 実行したいコマンドを登録します。
addCommand(
);
}
/*======================================================================*/
/**
* ダウンロード処理を実行中にデータを受信したときに送出されます。
*/
protected override function _onProgress():void {
trace(bytesLoaded + "/" + bytesTotal);
trace(Math.round(bytesLoaded / bytesTotal * 100));
}
/*======================================================================*/
/**
* オブジェクトが読み込みを完了した瞬間に送出されます。
* このイベント処理の実行中には、addCommand() メソッド、及び insertCommand() メソッドによるコマンドの同期処理が行えます。
*/
protected override function _onCastLoadComplete():void {
trace("LoadComplate");
// 実行したいコマンドを登録します。
addCommand(
);
}
参考にさせていただいたサイト
・Progressionのpreloader.flaを使ってみる
・Progression の Preloader で読み込み中のバイト数を得る
・AS3 さくっと使える、PreLoader
・ExPreloaderを使ってみる
・AS3 Apple Style Preloader


コメント