Home > ActionScript3.0 | Progression > ExPreloaderを使ってみる

ExPreloaderを使ってみる

Progressionで新規プロジェクトを作成すると自動的に生成されるpreloader.flaとPreloader.asファイルを使って、簡単なプリローダーを作ってみた。

プリローダー

手順としてはこんな感じ

  1. preloader.flaでMovieClipシンボルを作成
  2. 作成したシンボルにインスタンス名をつける
  3. Preloader.asファイルにスクリプトを記述

★1〜2・MovieClipシンボルを作成し、インスタンス名をつける

  1. (矩形ツールを使って)barというMovieClipシンボルを作成
  2. LoaderというMovieClipシンボルを作成
  3. Loaderのシンボルの中に、barを配置(barのインスタンス名:barとしておく)
  4. barの下あたりに、テキストエリアを作成(ダイナミックテキストでインスタンス名:status_txtとしておく)
  5. Loaderをステージに配置(インスタンス名:_preloaderとしておく)

★3.Preloader.asファイルにスクリプトを記述

package {
import flash.display.StageAlign;
import flash.display.StageQuality;
import flash.display.StageScaleMode;
import flash.display.MovieClip;
import jp.nium.display.ExPreloader;
import jp.progression.commands.*;

 //Preloader クラス

 public class Preloader extends ExPreloader {

  //ステージ上の_preloaderを取得する
  public function get loader():MovieClip{
   return MovieClip(this.getChildByName("_preloader"));
  }

  //コンストラクタ

  public function Preloader() {
   // 読み込み先 URL の指定

   url = "index.swf";

   //読み込み前のbarの設定
   _preloader.bar.scaleX = 0;

  }

  //読み込み完了後に実行

  protected override function _onInit():void {
   // stage の初期設定を行います。
   align = StageAlign.TOP_LEFT;
   quality = StageQuality.HIGH;
   scaleMode = StageScaleMode.NO_SCALE;
  }

  //ロード操作が開始したときに実行

  protected override function _onOpen():void {
   _preloader.status_txt.text = "データを読み込んでいます";
  }

  //ダウンロード処理を実行中にデータを受信したときに実行

  protected override function _onProgress():void {
   _preloader.status_txt.text = Math.floor((bytesLoaded / bytesTotal) * 100) + "%";
   new DoTweener(_preloader.bar,{
    scaleX:bytesLoaded / bytesTotal,
    time:1.0
    }).execute();
  }

  //データが正常にロードされたときに実行

  protected override function _onComplete():void {
   _preloader.status_txt.text = "データの読み込みが完了しました";
   closeHandler();
  }

  //読み込みが終わったら、_preloaderを非表示に

  private function closeHandler():void{
   _preloader.visible = false;
  }

  //入出力エラーが発生してロード処理が失敗したときに実行

  protected override function _onIOError():void {
   _preloader.status_txt.text = "データの読み込みに失敗しました";
  }
 }
}

パブリッシュを行うと、プリローダーが一瞬だけ表示されるかと。きちんと確かめたい時は、表示→ダウンロード設定の後、ダウンロードのシュミレーションを行うと、プリローダーがきちんと動作しているのが分かります。

上記の手順はWindows環境だときちんと動作しましたが、Mac(PowerMacG5、OS:Tiger)環境で実行すると、以下の様なエラーが出力パネルに表示されました。

Error #2044: ハンドルされていない ioError : text=Error #2036: 読み込みが未完了です。 URL: file:///Macintosh%20HD/Users/adminstrator/Desktop/example/deploy/index.swf

一応プリローダー自体は動作はするので、問題ないかとは思うんですが、何故同じスクリプトを実行して、Mac環境だとエラーが表示されるのかは、不明です。

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://flabaka.com/blog/wp-trackback.php?p=138
Listed below are links to weblogs that reference
ExPreloaderを使ってみる from flabaka

Home > ActionScript3.0 | Progression > ExPreloaderを使ってみる

Search
Feeds
Meta

Return to page top