CocoStudio 1.4.0.1数据编辑器使用
2024-07-14 04:16:26 216人阅读
到目前为止,CocoStudio 1.4.0.1(不知最新的1.5.0.1是否实现?)数据编辑器仅提供最基本数据支持--导入EXCEL数据清单和CSV文件。通过下面提供的截图你可以看出这个数据编辑器还没有提供JSON格式文件和SQLite数据的导入。但是,就其目前提供的两种格式数据的导入已经比较不错了。有关CSV文件格式,请你自行参考网络资源,非常简单,这是一种非常简单的文本文件格式。
其实,就我的使用情况来看,我使用SQLite时紧密结合FireFox插件Sqlite Manager使用(或者使用SQLite Developer v4.0这个桌面商业软件)。其中,我使用EXCEL创建游戏数据,然后另存为(导出)CSV格式文件,然后再通过一个流行的文本编辑软件把这个CSV格式文件转换成unicode编码。最后,在FireFox插件Sqlite Manager中导入到SQlite表格中。
一、在数据编辑器中导入Excel文件
当然,EXCEL工作簿中工作表中存放的应当是数据清单格式。
二、导出Json文件
三、使用文本编辑器查看Json数据
特别建议开发者安装NotePad++或者EditPlus其中之一,用于随意地打开查看或者编辑你感兴趣的各种文本文件。
四、在程序中添加Json解析函数
void getJsonFromFile( const char * fileName, rapidjson::Document &jsonDict)
{
unsigned char *pBytes = NULL;
std::string jsonpath;
jsonpath = CCFileUtils::sharedFileUtils()->fullPathForFilename(fileName);
unsigned long size = 0;
pBytes = CCFileUtils::sharedFileUtils()->getFileData(jsonpath.c_str(), "r" , &size);
CCData *data = new CCData(pBytes, size);
std::string load_str = std::string(( const char *)data->getBytes(), data->getSize() );
CC_SAFE_DELETE(data);
jsonDict.Parse<0>(load_str.c_str());
}
|
获取Json文件中的数据
rapidjson::Document rapidJsonData;
getJsonFromFile( "data.json" , rapidJsonData);
for ( int i = 0; i < 4; i++)
{
const char * name = DictionaryHelper::shareHelper()->getStringValue_json(rapidJsonData[i], "name" );
int level = DictionaryHelper::shareHelper()->getIntValue_json(rapidJsonData[i], "level" );
int hp = DictionaryHelper::shareHelper()->getIntValue_json(rapidJsonData[i], "hp" );
int attack = DictionaryHelper::shareHelper()->getIntValue_json(rapidJsonData[i], "attack" );
CCLog( "%s, %d, %d, %d" , name, level, hp, attack);
}
|
程序运行后输出如下类似结果:
五、小结
从我遇到的目前一些基于cocos2d-x框架开发的游戏来看,许多软件都使用json格式存储数据。因此,实际开发中很可能根据情况需要你对json数据格式文件进行加密与解密操作。
六、补充1
使用数据编辑器导出的json文件当然可能轻松地在COCOSTUDIO的另一个组件--场景编辑器中借助于CCComAttribute组件的[文件]属性加以引用。其实,这是一种静态的引用数据的方式,而更灵活的方式,即动态引用,就是上面文件中所给出的方法。
本文出自 “青峰” 博客,请务必保留此出处http://zhuxianzhong.blog.51cto.com/157061/1530369
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉:
投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。