【cocos2dx】rapidjson使用方法以及中文显示的解决方法【续】
生活随笔
收集整理的這篇文章主要介紹了
【cocos2dx】rapidjson使用方法以及中文显示的解决方法【续】
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
上一個博客講了怎么用rapidjson讀取中文字符串,但是有一個很明顯的缺陷 就是不能直接讀取數(shù)據(jù)編輯器導(dǎo)出的數(shù)據(jù)。下面我們來修復(fù)這個bug并且將代碼精簡到不到原來的一半大小。
上一博客的地址是:【cocos2dx】rapidjson使用方法以及中文顯示的解決方法
不多說 直接上源碼吧:
首先,數(shù)據(jù)編輯器導(dǎo)出的格式是:
[{"id":1,"content":"再次按下返回鍵退出游戲"},{"id":2,"content":"五子棋"},{"id":3,"content":"黑色方"},{"id":4,"content":"白色方"},{"id":5,"content":"當(dāng)前玩家"},{"id":6,"content":"小提示:"},{"id":7,"content":"null"},{"id":8,"content":"null"},{"id":9,"content":"null"},{"id":10,"content":"null"},{"id":11,"content":"null"},{"id":12,"content":"null"},{"id":13,"content":"null"},{"id":14,"content":"null"},{"id":15,"content":"null"},{"id":16,"content":"null"},{"id":17,"content":"null"}]導(dǎo)出的時候請選擇以屬性的方式導(dǎo)出
解析的類:
#pragma once /* * 獲取字符串類 單例 * 用于獲取JSON文件中的中文字符串 */ #include "cocos2d.h" #include <string> #include <cocos-ext.h> #include "cocostudio\CocoStudio.h" #include "ui\CocosGUI.h" USING_NS_CC; USING_NS_CC_EXT; using namespace std; using namespace cocostudio;/** * 數(shù)據(jù)ID的宏定義,用于找到中文數(shù)據(jù) */ static int s_iExit = 1; //再次按下返回鍵退出游戲 class ReadString { protected:rapidjson::Document m_doc; //暫存的數(shù)據(jù)static ReadString* rs; public:static ReadString* getInstance();std::string parse(int key); private:static ReadString* creat(std::string fileName);bool init(std::string fileName);ReadString(){};~ReadString(void){}; };
然后是cpp:
上一個博客中的read函數(shù)被我改成了parse,其實(shí)功能是一樣的。但是是不是覺得這樣好看很多哈。(好吧,其實(shí)還是那么難看)
使用的方法也是一樣的:
ReadString::getInstance()->parse(s_iExit)
總結(jié)
以上是生活随笔為你收集整理的【cocos2dx】rapidjson使用方法以及中文显示的解决方法【续】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java程序员高效开发必备的5大工具,I
- 下一篇: aⁿ-bⁿ因式分解