Progression4の新機能Resourceを試してみる
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を設定するのもありかもしれません。