本文目錄一覽:
- 1、cocosstudio導出的json文件怎樣放到cocos2dx裡面去
- 2、cocos2dx中.json和.plist文件格式加載的不同
- 3、請教cocos2d-x3.2 lua 解析 JSON 的方法及使用說明,多謝
- 4、如何在quick-cocos2d-x 中導出 CCFileUtils:getFileData
- 5、cocos2dx 2.2.3版本vs2010內怎麼調用cocoStudio導出的Json
- 6、c++ cocos2dx 解析json串共通方法
cocosstudio導出的json文件怎樣放到cocos2dx裡面去
UI的話UILayer* ul=UILayer::create();
addChild(ul);
UILayout* widget=dynamic_castUILayout*(GUIReader::shareReader()-widgetFromJsonFile(“Json路徑”));
ul-addWidget(widget);
骨骼動畫的話我是這樣用的 用到的都是Export這個文件夾下的東西
CCArmatureDataManager::sharedArmatureDataManager()-addArmatureFileInfo(“Export文件夾下的ExportJson文件”);
CCArmature* armature=CCArmature::create(“cocoStudio的文件名字”);
就用過這兩個,希望對你有幫助。。
cocos2dx中.json和.plist文件格式加載的不同
一、.json加載,一般通過std::string data =
FileUtils::getInstance()-getStringFromFile(filename);
通過文本rapidjson::Document doc; doc.Parserapidjson::kParseDefaultFlags(data.c_str()); 解析data。
解析之後doc應該是一個數組形式的,而且是一個二維數組(或者說是一個矩陣形式)。
如果解析沒有錯誤,可以通過doc.size()取得總行數,然後通過rapidjson::Value
v=doc[i]取得每一列的值,它也是一個數組,v.size()取得總列數,通過const auto value =
v[index];取得具體的值,這個值可能是NULL,可能是int,可能是string,可以通過value.IsNull()、value.IsString()、value.IsInt()判斷並通過value.GetString()或value.GetInt()等獲取該值
二、.plist加載,一般通過ValueMap dict =
FileUtils::getInstance()-getValueMapFromFile(filename);獲取最外層的ValueMap,該valuemap裡面可以嵌套其他valuemap,獲取內部嵌套的其他valuemap,可以這樣獲取,auto
dataIter = dict.find(“data”),(此時dataIter相當於一個Value),通過判斷if(dataIter !=
dict.cend()dataIter-second.getType()==Value::Type::MAP){const
auto data = dataIter-second.asValueMap();}
請教cocos2d-x3.2 lua 解析 JSON 的方法及使用說明,多謝
//a static method
Sprite* HelloWorld::maskedSpriteWithSprite(Sprite* textureSprite, Sprite* maskSprite)
{
// 1
RenderTexture * rt = RenderTexture::create( maskSprite-getContentSize().width,
maskSprite-getContentSize().height );
// 2
maskSprite-setPosition(maskSprite-getContentSize().width/2,
maskSprite-getContentSize().height/2);
textureSprite-setPosition(textureSprite-getContentSize().width/2,
textureSprite-getContentSize().height/2);
// 3
maskSprite-setBlendFunc( BlendFunc{GL_ONE, GL_ZERO} );
textureSprite-setBlendFunc( BlendFunc{GL_DST_ALPHA, GL_ZERO} );
// 4
rt-begin();
maskSprite-visit();
textureSprite-visit();
rt-end();
// 5
Sprite *retval = Sprite::createWithTexture(rt-getSprite()-getTexture());
retval-setFlippedY(true);
return retval;
}
..
如何在quick-cocos2d-x 中導出 CCFileUtils:getFileData
在將 cocos2d-x 製作的一個 Demo 移植到 quick-cocos2d-x 時,我碰到了讀取外部文件的問題。
這個 Demo 使用一個 JSON 文件作為數據文件,在 cocos2d-x 中,我使用 CCFileUtils::getFileData 來讀取這個 JSON 文件。
查看了一下 [quick-cocos2d-x]/lib/luabinding/cocos2dx/platform/CCFileUtils.tolua 發現其中並沒有導出 getFileData 方法。
可以使用 Lua 的 io 庫來讀取,例如這樣:
io.input(“res/fightdata.json”)
local __jsonTxt = io.read(“*all”)
print(__jsonTxt)
local __json = json.decode(__jsonTxt)
print(__json.actions)
cocos2dx 2.2.3版本vs2010內怎麼調用cocoStudio導出的Json
UI的話UILayer* ul=UILayer::create();
addChild(ul);
UILayout* widget=dynamic_castUILayout*(GUIReader::shareReader()-widgetFromJsonFile(“Json路徑”));
ul-addWidget(widget);
骨骼動畫的話我是這樣用的 用到的都是Export這個文件夾下的東西
CCArmatureDataManager::sharedArmatureDataManager()-addArmatureFileInfo(“Export文件夾下的ExportJson文件”);
CCArmature* armature=CCArmature::create(“cocoStudio的文件名字”);
就用過這兩個,希望對你有幫助。。
c++ cocos2dx 解析json串共通方法
如果json串格式相同,只是參數不同,可以寫一個通用解析函數即可。如果是不同的json串格式,那就得一一寫了。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/301820.html