AS3.0でプリローダー

Flashの案件で必須になるプリローダー。

外部化したファイルを読み込むローダーは、Loaderクラスを利用すればいいだけだけど
rootを読み込むプリローダーは?

まぁローディング処理だけのswfファイルを作って「loader.swf」とかにすりゃよさそうだけど
簡単なFlashムービーなど、swfファイルが1個で済むような場合
そんなまどろっこしいことしたくないよー

てことで
作ってみました。

サンプルを表示

//------------------------------------- 2009/4/28日追記 -------------------------------------//
結構リクエストがあったんで、Flaファイルもアップしてみた。

flaファイルダウンロード

//SWFファイル容量取得
var totalBytes:uint = this.loaderInfo.bytesTotal;

//イベントハンドラ設定
this.addEventListener(Event.ENTER_FRAME, loader);
//▼関数定義
function loader(evt:Event) {
    var loadPer:uint = Math.floor(this.loaderInfo.bytesLoaded / totalBytes * 100);
    par.text = loadPer;
    bar_mc.scaleX = loadPer/100;
    if (loadPer >= 100) {
        this.removeEventListener(Event.ENTER_FRAME, loader);
        parent.nextFrame();
    }
}

bar_mc.scaleX = 0;
stop();

1フレーム目にローダー用のMCを配置して、そのMCのタイムラインにコードを書いてます。
そうすれば、シンボルのコピペでそのまま使いまわせるってわけ。

//------------------------------------- 2009/2/26日追記 -------------------------------------//

ちょっと質問が来て、確かにこの書き方じゃ分かりづらいかなぁって事で、追記

上のソースは、1フレーム目に配置してある、ローダー用のMCの中に書いてます。
んで、「par」というインスタンス名のダイナミックテキストと、左端に基準点を置いた「bar_mc」というローディングバー用のインスタンスを配置してあります。

また、 「loaderInfo」プロパティは、「stage」クラスのプロパティで、
stageのloaderInfoプロパティの説明には ---------------------------------------------------------------------------------------------------------------------------------------
この表示オブジェクトが属するファイルの読み込み情報を含む LoaderInfo オブジェクトを返します。 loaderInfo プロパティは、SWF ファイルのルート表示オブジェクト用、 または(ActionScript を使用して描画されるビットマップではなく)読み込まれるビットマップ用として定義されています。 ---------------------------------------------------------------------------------------------------------------------------------------
とあるので ローディングバーのムービークリップの中にコードを書いても このムービークリップ(表示オブジェクト)が属するファイル(root)の読み込み情報は ムービークリップ内からthisで取得できるのです。

なので、このシンボルをコピペすれば、使い回しが出来るってわけ。

引用元はココ↓
http://www.flash-jp.com/modules/newbb/viewtopic.php?post_id=33538&topic_id=6612&forum=20

コメント(5)

お世話になります。やすと申します。
as3.0のプリローダーを作成していて
貴方様のページにたどり着きました。
とても良いサンプルでしたので、
もしかのうでしたら、
http://studio-ensyu.com/life-style/2008/08/as30.html
のページで利用している、サンプルのflaファイルをメールにていただけないでしょうか?

なにとぞよろしくお願い申し上げます。

http://studio-ensyu.com/life-style/2008/08/as30.html
はじめまして、やすともうします。
プリローダーを勉強していて、
貴方様のページへたどりつきました。
ですが、自分でみながら作成したところ、
どうもバーや、パーセント表示テキストのmcの取り扱いが、
うまくいっておらず、とまどっております。
そこで、もしよかったら、上記as3.0プリローダーのサンプルflaファイルを
メールにておくっていただけたら、幸いです。
よろしくお願い申し上げます。

どもども、メール送りました。

あとから自分でも読んでみて
確かに初心者の方にはちょっと分かりづらかったかなと思って、記事も追記してみました~。

ではでは
やすさん、Flashの勉強頑張ってくださいね~。

はじめまして。ジュンと申します。
as3でプリローダーのサンプルを求めてサイトの方にお伺いしました。
大変参考になるスクリプトなのですが自分で適用しようとするとどうしてもコンパイルエラーがでてしまいます。。
もしよかったら上記サンプルのflaファイルをメールで送っていただければ幸いです。
宜しくお願いします。

>junさん

Flaファイルの方アップしたんで、ダウンロードしてみてくださいね~。

コメントする

トラックバック(0)

このブログ記事を参照しているブログ一覧: AS3.0でプリローダー

このブログ記事に対するトラックバックURL: http://studio-ensyu.sakura.ne.jp/mt/mt-tb.cgi/8

プロフィール

HN.NoBody

NoBody

市ヶ谷のとあるオフィスでFlashクリエイターとして労役中。
なんとなくチーフ。

twitterでつぶやき中