处理Cocos2dx乱码问题

来源:互联网 发布:k8网络分销平台 编辑:程序博客网 时间:2024/06/06 16:51

1、用记事本创建一个.plist文件

2、在文件中写入下列代码

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>help</key>//假如显示帮助字样

<string>帮助</string>

</dict>

</plist>

3、新建一个定义宏定义的头文件HDataUtil.h

#define  STRING_PATH "strings.plist"//中文文件名称

#define  HELP "help"//帮助

4、在项目创建一个获取字符串.h文件和.cpp文件,假如为YInternationWords.hYInternationWords.cpp

YInternationWords.h实现

#ifndef YINTERNATIONWORDS_H

#define YINTERNATIONWORDS_H

#include <string>

#include <cocos2d.h>

using namespace std;

using namespace cocos2d;

class YInternationWords

{

public:

    YInternationWords();

    ~YInternationWords();

    static string chineseWord(const char* wordId);

};

#endif

YInternationWords.cpp实现

#include "YInternationWords.h"

YInternationWords::YInternationWords(){}

YInternationWords::~YInternationWords(){}

string YInternationWords::chineseWord(const char *wordId)

{

static ValueMap txt_map = FileUtils::getInstance()->getValueMapFromFile(STRING_PATH);

string ret = txt_map.at(wordId).asString();//转化为字符串类型等价于string ret = txt_map[wordId].asString();

return ret;

}

5、记得把.plist文件放入到Resources文件夹下

6、再到其他文件需要用到的中文文字调用YInternationWordschineseWord函数

比如:SetLayer.cpp

auto label = Label::create();

label->setString(YInternationWords::chineseWord(HELP));

label->setPosition(_screenWidth/2,_screenHeight/2);

this->addChild(label);

原创粉丝点击