AS3の場合。私的メモです。
外部ファイルの場合と何が違うのか、リファレンスを呼んでいると下記のようなことが書いてありました
つまり、内部データを読み込むということは、ロードされる側のメインタイムライン(表示オブジェクト)からアクセスするということ。loaderInfoプロパティから得られるロード情報オブジェクトはLoaderInfoクラスのインスタンスである。
また、外部データの場合も、loaderオブジェクトのcontentLoaderInfoプロパティで得られるロード情報オブジェクトは、LoaderInfoクラスのインスタンスである。
よって、ロード情報オブジェクト(LoaderInfoクラスインスタンス)を使う点が共通しているので、外部データを読み込む時と同じような書き方が出来るはず!
下記を flaファイルの第一フレームに記述
stop();
var loadInfo:LoaderInfo = this.loaderInfo;
loadInfo.addEventListener(ProgressEvent.PROGRESS, nowloading);
loadInfo.addEventListener(Event.COMPLETE, onloaded);
function nowloading(event:ProgressEvent):void{
var per:uint = Math.floor(event.target.bytesLoaded / event.target.bytesTotal * 100);
trace(per);
};
function onloaded(event:Event):void {
trace("読み込み完了");
nextFrame();
};
上記で無事にローディングできました! LoaderInfoクラスインスタンスのbytesLoadedプロパティやbytesTotalプロパティを用いることで、計算が出来ます。
また、下記では、Event.ENTER_FRAME を用いたやり方が紹介されています。こういうふうにも出来るんですね。
http://web.dimension-maker.info/cgi-bin/mt/webdimensionmaker/144