Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Progression4の新機能Resourceを試してみる | _level0 - KAYAC Front Engineer Blog
[go: Go Back, main page]

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飯