ソーシャルゲームとかで初回起動時にリソースとかまるっとダウンロードするみたいなやつの実装方法。
まず、普通に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-*とかの解像度ごとのリソース入れれば試せる