Progressionの新機能で個人的にうれしいのが読み込んだデータのキャッシュ機能です。

効果音のMP3や外部画像などを一度読み込んだら使いまわすことができます。

これはLoaderCommandのcacheAsResource(初期値true)をtrueにすると行われる処理です。

ポイントはLoaderCommand系の第二引数のinitObjectにidまたはgroupを設定することで、後でそのidまたはgroupでキャッシュしたデータをどこからでも取得することができます。

var r:Resource = getResourceById( id );

var list:Array = getResorucesByGroup( group );

なので複数の場所で同じファイルをロードする可能性がある場合はあらかじめResourceの有無をチェックしてからLoaderCommandを呼ぶようにすれば先に呼ばれたほうが1度だけロードすることになります。

とくに複数のSWF(LoaderSceneなど)で利用するときに、単体でも結合時にもかならず1回だけロードされるという状況が作れるのが便利です。

またGroupでサウンド、サムネイルなどカテゴリに分けて読み込んでおけば、あとで選んでつかうことができます。

 

各シーンやCast間でデータをひきまわす必要がないのもおおきなポイントです。

IndexSceneやPreloaderで一括ロードしておいて、必要なシーンでgetResourceById経由で取得すればOKです。

そのぶん、設計時に名前やグループ名をしっかり整理しておかないとあとで混乱するので注意です。

僕はサンプルのResourceNameようなURLのデータクラスを作って管理していることが多いです。

idに(ユニークな値として)URLを設定するのもありかもしれません。

HTML5飯