1.イベントリスナーの登録
ローディングで使用するイベントは「Event.ENTER_FRAME」です。
これにリスナー関数のloadCheakを加えて以下のようにする。
→ this.addEventListener(Event.ENTER_FRAME,loadCheak);
//次にloadが完了するまで1フレーム目で止めておくためのstop();を記述する。
stop();
一先ずこれでイベントリスナー登録の部分は完了。
2.ロードされたデータのパーセンテージを求める
function loadCheck(event:Event):void {
var percent:int = Math.ceil(loaderInfo.bytesLoaded / loaderInfo.bytesTotal * 100);
}
int は整数の変数定義するために使用。(percentは変数名)
loaderInfoはMovieClipのプロパティで、ファイルのロード状況を管理するもの。
bytesLoaded はロードしたバイト数で、bytesTotal はムービーの総バイト数。
最後にこれらを囲んでいる Math.ceil()は小数点以下を切り上げるメソッド。
3.求めたパーセントの値をテキストフィールドに表示する
テキストフィールドに値を代入する基本の型は「インスタンス名.text = 値 ;」です。
この型に値を入れ込むと以下のものになる。
→ percentArea.text = percent + "%";
4.100%ロードされたときの処理を行う
必要なのは、この2つ。
ⅰ.イベントリスナーの終了
ⅱ.次のアクション(10フレーム目に移動etc)
これを言葉にして言い換えると以下のものになる。
→「もしローディングが100%になったら、イベントリスナーを終了させて、10フレーム目に行く」
あとは、この文章通りにスクリプトを記述すればいいだけ。
もし100%ロードしたら
→ if(parcent >= 100){
イベントリスナーの終了
10フレーム目に移動
}
イベントリスナーの終了
→ this.removeEventListener(Event.ENTER_FRAME,loadCheak);
10フレーム目に移動
→ gotoAndPlay(10);
if (percent >= 100) {
this.removeEventListener(Event.ENTER_FRAME, loadCheck);
gotoAndPlay(10);
}
5.スクリプトを組み合わせる
3と4で作ったスクリプトを2のvar pacent:int = ~~~; のあとに挿入する。
addEventListener(Event.ENTER_FRAME, loadCheck);
stop();
function loadCheck(event:Event):void {
var percent:int = Math.ceil(loaderInfo.bytesLoaded / loaderInfo.bytesTotal * 100);
percentArea.text = percent + "%";
if (percent >= 100) {
removeEventListener(Event.ENTER_FRAME, loadCheck);
gotoAndPlay(10);
}
}