处理Cocos2dx乱码问题

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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值