2009-06-10(Wed) 13:16
[AS3.0]複数の外部画像をまとめてローディング表示

複数の外部画像を読み込んだときまとめてローディング表示させたいときは「bulk-loader 」というライブラリ使うと便利らしいのでメモ。

  1. まずはflaファイルと同階層にライブラリを入れてインポート

    import br.com.stimuli.loading.BulkLoader;
    import br.com.stimuli.loading.BulkProgressEvent;
    
  2. 読み込むファイルを指定します。
    今回は画像ファイルを読み込みました。

    loader = new BulkLoader("main");
    //読み込む画像パスの指定
    loader.add("img/img01.gif");
    loader.add("img/img02.gif");
    loader.add("img/img03.gif");
    
  3. プログレスイベントとロード完了後のイベントの追加

    loader.addEventListener(BulkLoader.PROGRESS, onProgress);
    loader.addEventListener(BulkLoader.COMPLETE, onComplete);
    loader.start();// ロード開始
    
  4. percentLoadedで現在のローディングの経過を取得します。

    private function onProgress(e:BulkProgressEvent) : void
    {
    	trace(e.percentLoaded);
    }
    
  5. ローディング完了後の処理。
    今回はgetBitmapで取得しました。

    private function onComplete(e:Event) : void
    {
    	var _bitmap1:Bitmap = loader.getBitmap("img/img01.gif");
    	var _bitmap2:Bitmap = loader.getBitmap("img/img02.gif");
    	var _bitmap3:Bitmap = loader.getBitmap("img/img03.gif");
    }
    
  6. 最終的にとりあえずこんな感じです。

    package
    {
    	import flash.display.Bitmap;
    	import flash.display.Sprite;
    	import flash.events.Event;
    	import br.com.stimuli.loading.BulkLoader;
    	import br.com.stimuli.loading.BulkProgressEvent;
    
    	public class Main extends Sprite
    	{
    		//BulkLoaderの宣言
    		private var loader:BulkLoader ;
    
    		public function Main ():void {
    			loader = new BulkLoader("main");
    			//読み込む画像パスの指定
    			loader.add("img/img01.gif");
    			loader.add("img/img02.gif");
    			loader.add("img/img03.gif");
    
    			// ロード経過イベント
    			loader.addEventListener(BulkLoader.PROGRESS, onProgress);
    			// ロード完了イベント
    			loader.addEventListener(BulkLoader.COMPLETE, onComplete);
    			loader.start();// ロード開始
    		}
    		// ロード経過
    		private function onProgress(e:BulkProgressEvent) : void
    		{
    			trace(e.percentLoaded);
    		}
    		// ロード完了
    		private function onComplete(e:Event) : void
    		{
    		    var _bitmap1:Bitmap = loader.getBitmap("img/img01.gif");
    			var _bitmap2:Bitmap = loader.getBitmap("img/img02.gif");
    			var _bitmap3:Bitmap = loader.getBitmap("img/img03.gif");
    
    			//画像の大きさ分ずらして配置
    			_bitmap2.x = 60;
    			_bitmap3.x = 120;
    			addChild(_bitmap1);
    			addChild(_bitmap2);
    			addChild(_bitmap3);
    		}
    	}
    }

category : ActionScript
tag :

Comments(0)Trackbacks(0)