読者です 読者をやめる 読者になる 読者になる

CocosBuilderで作ったUIにサーバーからダウンロードした画像を使う

ソーシャルゲームとかで初回起動時にリソースとかまるっとダウンロードするみたいなやつの実装方法。

まず、普通にCocosBuilderでUI作ってPublishする。

ccbiだけをプロジェクトのResourceに入れる(TestScene.ccbiを作りました)

通常通りTestSceneクラスやTestSceneLoaderクラスを作る。

各画面に対応したリソースをダウンロードしてCCFileUtils::sharedFileUtils()->getWritablePath()に保存するコードを書く。

ccbi読み込むときにCCBRootPathの設定をする。

CCNodeLoaderLibrary* nodeLoaderLibrary = CCNodeLoaderLibrary::newDefaultCCNodeLoaderLibrary();
nodeLoaderLibrary->registerCCNodeLoader("TestScene", TestSceneLoader::loader());

CCBReader* ccbReader = new CCBReader(nodeLoaderLibrary);
ccbReader->setCCBRootPath(CCFileUtils::sharedFileUtils()->getWritablePath().c_str());

CCNode* node = ccbReader->readNodeGraphFromFile("TestScene.ccbi");

setCCBRootPathでリソースをダウンロード&保存したパスを指定すると、ccbiの中で使ってる画像などのファイルは、そこから探してくれるらしい。

各画面に対応したリソース保存するコードが無い時は、Simulatorで起動して~/Library/Application Support/iPhone Simulator/*/Applications/*/Documentsの中にPublished-*とかの解像度ごとのリソース入れれば試せる