本文目录一览:
- 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串格式,那就得一一写了。