cocos2d-x学习笔记(六)TextBMFont控件显示中文乱码或者无法显示
admin
2023-02-12 01:20:03
0

    今天用cocos studio加了一个TextBMFont控件,然后需要动态修改TextBMFont控件显示的字符串,用来显示中文的,结果一直无法修改TextBMFont控件的值,最后原来是写到xml文件的中文字符串没有保存成UTF-8格式。

=====================================================================================

记录一下完整实现步骤

一、制作BMFont字体

1、下载并安装BMFont软件

2、因为要用到中文字符,所以要进行字体设置。选项->字体设置

cocos2d-x学习笔记(六)TextBMFont控件显示中文乱码或者无法显示

3、设置导出设置,选项->输出设置

cocos2d-x学习笔记(六)TextBMFont控件显示中文乱码或者无法显示

4、新建txt文本,输入所需要的字符,然后另存为UTF-8格式,否则软件不识别

5、回到BMFont软件,编辑->从文件中选择字符,找到刚才保存的txt文本

6、选项->位图字体另存为,这样就生成了fnt和png格式的文件


二、新建XML文件

由于cocos2d-x直接使用会出现乱码,这里我们使用将中文字符写到xml文件中的方法。注意文件编码要保存为UTF-8,xml文档格式如下

  
    hello  
    你好  
    world  
    世界  


三、代码中解析

auto m_res = CSLoader::createNode("test.csb");
if(m_res == nullptr)
{
return false;
}
addChild(m_res);
ui::TextBMFont* show = dynamic_cast(chestTip->getChildByName("Show"));
//创建词典类实例
auto config = Dictionary::createWithContentsOfFile("Config.xml");
const char *hello = ((String*)config->objectForKey("hello"))->getCString();
show>setString(hello);


注:test.csb是在cocos studio下导出的文件,

需要#include "../cocos/editor-support/cocostudio/CocoStudio.h" 


相关内容

热门资讯

终于懂了“八闽状元郎开挂器?”... 网上科普关于“八闽状元郎有没有挂”话题很是火热,小编也是针对八闽状元郎作*弊开挂的方法以及开挂对应的...
【今日要闻】“琼崖海南麻将真的... 网上科普关于“琼崖海南麻将有没有挂”话题很是火热,小编也是针对琼崖海南麻将作*弊开挂的方法以及开挂对...
玩家攻略科普“中至九江麻将有没... 玩家攻略科普“中至九江麻将有没有挂?”(确实真的有挂)您好,中至九江麻将这个游戏其实有挂的,确实是有...
玩家攻略科普“博雅红河棋牌到底... 有 亲,根据资深记者爆料博雅红河棋牌是可以开挂的,确实有挂(咨询软件无需...
终于了解“新皇豪拼三张可以开挂... 家人们!今天小编来为大家解答新皇豪拼三张透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里...
法国传奇女星碧姬·芭铎去世,享... 澎湃新闻记者 闻鱼法国女星碧姬·芭铎去世,享年91岁。12月28日,碧姬·芭铎基金会“怀着巨大的伤痛...
玩家攻略科普“开心十三张辅助器... 您好:开心十三张这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游...
终于了解“微友麻将开挂神器?”... 家人们!今天小编来为大家解答微友麻将透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买很...
终于懂了“打哈儿麻将开挂器?”... 终于懂了“打哈儿麻将开挂器?”(详细开挂教程)您好,打哈儿麻将这个游戏其实有挂的,确实是有挂的,需要...
终于懂了“天天南通长牌开挂神器... 网上科普关于“天天南通长牌有没有挂”话题很是火热,小编也是针对天天南通长牌作*弊开挂的方法以及开挂对...