Progressionで複数ファイルをまとめて読む

Posted 2010年2月21日 | Auther dada | Category PC・デジタル | Tag タグ: , ,
Twitterにツイートする Facebookでシェアする はてなブックマーク

Progressionのリソースキャッシュと、複数ファイル読み込みの組み合わせが
便利すぎて思わず漏らしてしまいそうです(チョロリ)。あっ。

外部画像を読み込んで一覧表示させるものを作ってまして、
各サムネイル内で読み込むようにしてたんですが、
最初にまとめて読むように変更しました。

というのも、リソースキャッシュのおかげで
画像の流用がすごく簡単に行えるようになったからです。

Progression4で外部ファイルの使い回しを簡単に 》 RuputerFan

リソースキャッシュについては以前かいたこの日記を参照。

複数ファイルの読み込みにはProgressionがLoaderListというクラスを用意しています。

// 読み込む画像一覧
var list:Array = [
	{id:"img_a", url:a.jpg"},
	{id:"img_b", url:b.jpg"},
	{id:"img_c", url:c.jpg"},
];
// 複数ファイル読み込み管理
var loadList:LoaderList = new LoaderList();

// 読み込み開始
loadList.onStart = function():void {
	trace( "まとめて読んじゃうわよ!" );
}
// 読み込み中
loadList.onProgress = function():void {
	trace( this.percent,"%" );
}
// 読み込み完了
loadList.onComplete = function():void{
	trace( "終わったわよ!" );
};
// まとめて読み込み指定
for ( var i:int = 0; i < list.length; i++ ) {
	loadList.addCommand(
		new LoadBitmapData( new URLRequest(list[i].url), {
			cacheAsResource:true, context:new LoaderContext(true),
			resGroup:"images", resId:list[i].id
		} )
	);
}
// 読み込み開始
loadList.execute();

こんな感じにまとめて読み込みます。
読み込みにはLoadBitmapData、LoadSound、LoadSWF、LoadURLなどが使えます。

あるとないとの違い

普通は画像一覧を作る場合、
個々のローダークラスに完了後の処理を書きます。

var bmpLoad1:LoadBitmapData( new URLRequest("a.jpg") );
bmpLoad1.addEventListener( LoadBitmapData.ExecuteEvent, onComplete );

var loadList:LoaderList = new LoaderList();
loadList.addCommand( bmpLoad1 );

しかしリソースキャッシュ機構を組み合わせることで、
個々の終了後の処理は不要になります。
resIdパラメータを指定すれば後からその名前で呼び出せるからです。

	loadList.addCommand(
		new LoadBitmapData( new URLRequest(list[i].url), {
			cacheAsResource:true, context:new LoaderContext(true),
			resGroup:"images", resId:list[i].id
		} )
	);
var bmp:Bitmap = new Bitmap( getResourceById("img_a").data );

複数ファイルのロード管理はCASA Libでも同様のものがありますが、
ProgressionのLoaderListを使う利点はリソースキャッシュにあると思います。

要望というか

LoaderListに要望を出すとしたら並列読み込みのサポートでしょうか。

順次読み込みのほうが回線を圧迫せずにすみますが、
大量にファイルがある場合にやっぱり遅いんですよね。

並列指定も出来ると嬉しいなと。

突然カップヌードルが食べたくなったので貼ってみる。意味はありません。

カップヌードル カップヌードル

売り上げランキング : 71860
おすすめ平均

Amazonで詳しく見る by G-Tools

関連する記事

No Comments »

No comments yet.

Leave a comment

カテゴリー