ExportJson是Cocos2d-x游戲引擎中常用的一種場(chǎng)景導(dǎo)出格式。但是在最新版本的Cocos2d-x游戲引擎中,ExportJson已經(jīng)被Json格式所替代。因此,我們需要將之前使用ExportJson的代碼改為Json加載格式。
// 之前使用ExportJson的代碼 bool HelloWorld::init() { ... auto node = CSLoader::createNode("res/HelloWorldScene.csb"); node->setPosition(Vec2(this->getContentSize().width/2, this->getContentSize().height/2)); this->addChild(node); return true; }
在最新版本的Cocos2d-x游戲引擎中,使用Json加載格式的代碼如下:
// 使用Json加載格式的代碼 bool HelloWorld::init() { ... auto rootNode = dynamic_cast(GUIReader::getInstance()->widgetFromJsonFile("res/HelloWorldScene.json")); rootNode->setPosition(Vec2(this->getContentSize().width/2, this->getContentSize().height/2)); this->addChild(rootNode); return true; }
可以看出,使用Json加載格式的代碼相對(duì)于之前使用ExportJson的代碼稍有不同。我們需要使用GUIReader::getInstance()->widgetFromJsonFile函數(shù)加載Json文件,并將返回值轉(zhuǎn)換成Layout類型的根節(jié)點(diǎn),然后再將其添加到場(chǎng)景中。
通過(guò)改寫之前使用ExportJson的代碼,我們可以順利地將代碼改為使用最新版本Cocos2d-x游戲引擎所支持的Json加載格式。