LoginSignup
0
0

More than 5 years have passed since last update.

AssetManagerEx

Last updated at Posted at 2015-12-08

AssetManagerExを使ってみた。

公式:
http://www.cocos2d-x.org/wiki/Assets_manager


まとめ

用意するもの。
マニフェストファイル=3種

  • ローカル:マニフェスト <初回起動時に読み込む。バージョンや、リモートにあるマニフェストのアドレスが必要。
  • リモート:バージョンマニフェスト <バージョン情報などを書く。
  • リモート:マニフェスト <バージョン情報などに加えてダウンロードさせたいファイルの情報を書く。

初回実行時:
 ローカルのマニフェストから情報を取得。
リモートのマニフェストを二つ共ダウンロードする。
(書き込み可能領域に保存される。)
バージョン情報、ファイル情報が共に更新されていた場合。
そのファイルをダウンロードしてくる。
 ダウンロード完了後
リモートのマニフェストファイルが保存される。
保存時のファイル名は規定の物がつけられる。
 project.manifest
 version.manifest

実行

auto am = AssetsManagerEx::create( "project.manifest", writablePath()+"folder" );
am->retain();
am->update();

AssetManagerExに関連するイベントの取得方法。
 EventAssetsManagerEx
 EventListenerAssetsManagerEx


不明点のメモ
マニフェストの以下の項目の用途

"searchPaths" : [
]


以下、失敗時のメモ

urlやファイルについて記述したマニフェストファイルを用意する。
これをサーバーに保存した。

中身。

実装コード

auto am = AssetsManagerEx::create(manifest_url, path);
am->update();

失敗した。
cocos2d: fullPathForFilename: No file found at image/project.manifest. Possible missing file.

project.manifestファイルが存在しないと言われる。
どうやら、設定したストレージパスの中に"project.manifest"を配置する必要があるらしい。
_cacheManifestPath = _storagePath + MANIFEST_FILENAME;

解決:
  とりあえず、サーバーに保存したものと同じものエラーで示された場所に置くことにする。

失敗した。
cocos2d: fullPathForFilename: No file found at https://example/ex_project/resource/version.manifest. Possible missing file.

なので、今度は version.manifest を配置します。
と思いきや、、、待てと、
なぜURLが表示されている? マニフェストに記述した値が間違ってるかもしれません。

解決:
AssetsManagerEx::create(manifest_url, path);
この時に渡す 第1パラメータはurlではなくversion.manifestのファイルパスだった。

失敗した
cocos2d: fullPathForFilename: No file found at image/project.manifest.temp. Possible missing file.

内部的にはtempとして一旦DLしたマニフェストファイルを保存しているっぽい。??
違う、意味不明。

そもそも、その前にエラーが出ていた、これはなんだ
File parse error 10 at <\235,
"re>
ただただ、マニフェストファイルの記述が間違っていた。"!=”
振り出しに戻る。
 やはりversion.manifestが存在しないところから始まる。

・・・
まずはダウンロードが始まらないということが問題。

バージョンパラメータの比較で同値になってる何故だ
ローカル0
リモート2
比較時=0
リモートはどこいった?

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0