cocos2dx弱联网

弱联网游戏
   libcurl的集成和使用
先初始化
curl_global_init(CURL_GLOBAL_ALL);
//CURL_GLOBAL_ALL(包括win32和ssl)
//CURL_GLOBAL_WIN32
//CURL_GLOBAL_SSL
释放,退出时候,可以在OnExit();
curl_global_cleanup();

http请求
   
多线程开发技术
  pthread




数据存取技术
  cocos2dx数据持久化存储
  cocos2dx文件存取
  CCFileUtils//单例模式
getFileData();GetFileDataFormZip();fullPathFromRalativePath();
         fullPathFromRelativePath()//把相对(全)路径转换成绝对路径,读取文件要绝对路径
         SetResourceDirectory();//设置资源文件的路径
GetResourceDiretory();//
GetWriteablePath();//获取一个可写权限的路径
 
CCUserDefault
        //存取,设置数据,单例对象,存放在xml文件里
//获取数据
        CCUserDefault::shareUserDefult->setStringForKey("string1","value");
             ->setIntegerForKey("int",10);
     ...
flush();刷新
//设置数据
CCUserDefault::shareUserDefult->GetStringForKey("string1");
             ->GetIntegerForKey("int");
     ...
  FILE(win32)
网络数据的处理
xml数据处理的不同方式
1.包含xml库,添加路径,添加头文件    (配置环境)

//定义文档和节点指针
2.xmlDocPtr pdoc = xmlNewDoc(BAD_CAST"1.0");//typedef BAD_CAST xmlchar*
      xmlNodePtr root_node = xmlNewNode(NULL,BAD_CAST"root");

//设置根节点
        3.xmlDocSetRootElement(doc,root_node);

//在根节点中创建节点
xmlNewTextChild(root_node,NULL,BAD_CAST"newNode1"...); //第一种

xmlNodePtr newnode = xmlNewNode(NULL,BAD_CAST"node2");//第二种
xmlNodePtr context = xmlNewText(BAD_CAST"NODE CONTEXT");

xmlAddChild(root_node,newnode);    //把newnode添加到root_node中
xmlAddChild(newnode,context);    
xmlNewProp(node,BAD_CAST"attribute",BAD_CAST"YES"); //设置node中的属性

iconv处理中文编码问题
第三方库
        a.创建xml
        tinyxml.h  tinystr.h
1.创建一个xml的文档对象
TiXmlDocument *myDocument = new TiXmlDocment();


2.创建一个根元素并连接
TiXmlElement *RootElement = new TiXmlElement("person");
MyDocument->LinkEndChild(RootElement);


3.创建一个Person的元素,并添加到root
TiXmlElement *PersonElement = new TiXmlElement("person");
TootElement->LinkEndChild(PersonElement);


4.设置Person属性
 PersonELement->SetAttribute("ID","1");
5.创建name元素,age元素并连接
          TiXmlElement *NameElement = new TiXmlElement("name");
 TiXmlElement *AgeElement = new TiXmlElement("age");
6.添加
 PersonELement->LinkEndChild(NameElement);
          PersonELement->LinkEndChild(AgeElement);
7.设置name元素和age元素的内容并连接
 TiXmlText *NameContext = new TiXmlText("hello world");
 TiXmlText *AgeContext = new TiXmlText("hello kitty");
 NameElement->LinkEndChild(NameContext);
 AgeElement->LinkEndChild(AgeContext);
8.保存文件
 char filepath[100] = {'\0'}; //strcat将字符串连接
 strcat(filepath,CCFileUtils::sharedFileUtils->getWriteablePath().c_str());
 strcat(filepath,"CreateTinyXml.xml");
 MyDocument->saveFile(filepath);
9.解析xml
  TiXmlDocument *myDocument = new TiXmlDocment("CreateTinyXml.xml");



b.Json文件编写/解析
存放方式
[
  {"name":"more-top","age":13}
  {"name":"android","age":12}
]
         #include "json"        //parse解析
 
 
         
 
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值