位置: 编程技术 - 正文
推荐整理分享Cocos2dx------从json文件读取数据,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
ReadJson.h文件代码
#ifndef __Read_Json_H__
#define __Read_Json_H__#include "cocos2d.h"#include <array>USING_NS_CC;using namespace std;class LayoutInfo:public CCObject {public:int Num;int Value;};class ReadJson{public:static CCArray* parseLayoutInfo(int num);};#endif
ReadJson.cpp文件代码
#include "ReadJson.h"#include "......extensionsCocoStudioJsonrapidjsonrapidjson.h"#include "......extensionsCocoStudioJsonrapidjsondocument.h"CCArray* ReadJson::parseLayoutInfo(int num){CCArray* settingArray=new CCArray();char fileName[];sprintf(fileName,"Layout%d.json",num);rapidjson::Document doc; //判断文件是否存在 if(!CCFileUtils::sharedFileUtils()->isFileExist(fileName)) { CCLOG("json file is not find [%s]",fileName);return settingArray; } //读取文件数据,初始化doc unsigned long bufferSize = 0; unsigned char* data=CCFileUtils::sharedFileUtils()->getFileData(fileName,"rb",&bufferSize); std::string load_str((const char*)data, bufferSize); doc.Parse<rapidjson::kParseDefaultFlags>(load_str.c_str()); //判断读取成功与否 和 是否为数组类型 if (doc.HasParseError() || !doc.IsArray()) { CCLOG("get json data err!"); return settingArray; } for(unsigned int i=0;i<doc.Size();i) { //逐个提取数组元素(声明的变量必须为引用) rapidjson::Value &v=doc[i]; if(v.HasMember("Num") && v.HasMember("Value")) { LayoutInfo* info=new LayoutInfo();info->Num=v["Num"].GetInt(); info->Value=v["Value"].GetInt(); settingArray->addObject(info);} } return settingArray;}
Layout1.json文件的内容如下(该文件要ANSI编码式)
[{"Num":1,"Value":},{"Num":2,"Value":},{"Num":3,"Value":5},{"Num":4,"Value":8},{"Num":5,"Value":},{"Num":6,"Value":},{"Num":7,"Value":1},{"Num":8,"Value":4},{"Num":9,"Value":6},{"Num":,"Value":7}]
cocos2dx3.6动作编辑器 在这个公司实习挺久的了,在这个公司开始的时候没什么任务,就是自己学习学习,然后到了论文答辩完的时候就有了东西,一上来就是一个动作编辑
cocos2d-lua 学习笔记—1 cocos2d-lua学习笔记—、cocos2d-lua版本分类:普通版/Quick版,现在已经合并2、工程的创建a、CocosCodeIDE:配置环境后直接创建,如果需要创建xcode可以运
Cocos2dx物理引擎(一) cocos2dx在设计之初就集成了两套物理引擎,它们是box2d和chipmunk。我目前使用的是最新版的cocos2dx3.2。引擎中默认使用的是chipmunk,如果想要改使用box2d的
友情链接: 武汉网站建设