getResourceByIdとgetResourcesByGroup
progression4もPublic Beta 1.3になって、またBeta 1.2でokやったのが、NGになってたり色々と仕様が変わりつつあるけど、とりあえずprogression4の新機能Resourceを使ってみました。カヤックさんの「Progression4の新機能Resourceを試してみる」などを参考に。
ついでにPreloadSWFも試してみたかったので、ロード処理はPreloader.asに書く。
//Preloader.asのatCastLoadStart()内、ex外部画像(img/gaibu1.png~img/gaibu5.png)の5枚を読み込む場合
var _loadCmd:LoadCommand;
for (var i:int = 1; i <= 5; i++) {
_loadCmd = new LoadBitmapData(new URLRequest("img/gaibu" + i.toString() + ".png"), { cacheAsResource:true, context:new LoaderContext(true), group:"myGroup", id:"myId"+i.toString() } ),
_preLoaderList.addCommand(_loadCmd); //これは全体のLoaderList
}
これを、IndexSceneで呼び出す。
//IndexScene.asのatSceneLoad()内
trace("読み込んだ画像をidで呼び出す:", getResourceById("myId1"));
trace("読み込んだ画像をグループごと呼び出す:", getResourcesByGroup("myGroup"));
すると、どちらも読み込めない。getResourceById("img/gaibu1.png")とすると読めるので、設定が出来てない模様。
よくよくドキュメントをみると、呼び出しは、getResourceById、getResourcesByGroupやけど、設定するときは、resId、resGroupで設定とする。というわけで、
//Preloader.asのatCastLoadStart()内、ex外部画像(img/gaibu1.png~img/gaibu5.png)の5枚を読み込む場合
var _loadCmd:LoadCommand;
for (var i:int = 1; i <= 5; i++) {
_loadCmd = new LoadBitmapData(new URLRequest("img/gaibu" + i.toString() + ".png"), { cacheAsResource:true, context:new LoaderContext(true), resGroup:"myGroup", resId:"myId"+i.toString() } ),
_preLoaderList.addCommand(_loadCmd); //これは全体のLoaderList
}
で、めでたしめでたしと。