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" 


相关内容

热门资讯

《成都声明》勾勒亚太数智合作新... 《成都声明》勾勒亚太数智合作新蓝图 7月23日,参会代表在2026年亚太经合组织(APEC)数字和...
SK海力士掌门人“50亿美元天... 财联社7月24日电,SK海力士的亿万富豪崔泰源(CheyTae‑won),其个人财富因人工智能热潮大...
斯里兰卡前高官之子,涉嫌抢劫中... 斯里兰卡警方近期披露,当地破获一起抢劫案,涉案人员5人,涉案金额高达2000万卢比(约合人民币40余...
每日科普 | 量子包治百病?什... 市面上量子手环、量子水杯、量子床垫、量子理疗仪等产品满天飞,商家张口就宣称量子能量可以疏通经络、根除...
上海AI产业交答卷:以生态之力... 上海人工智能产业交答卷:真实产线上淬炼硬核能力 聚合产业推进中国算力体系化 以生态之力,加速AI拐点...
“郑州造”光伏清洁机器人即将交... 7月22日,郑州航空港经济综合实验区坤达产业园内,两台C1光伏清洁机器人正在进行交付前的最后测试。作...
腾讯整合Workbuddy与Q... 快科技7月21日消息 ,据媒体报道,腾讯近日发布内部组织调整通知,将 QClaw产品中心全部相关业务...
TVB正式更名,宣布由传统电视... 7月24日,@TVB官方微博发文官宣TVB更名“无线集团”,TVB表示,由传统电视台升级为跨媒体娱乐...
2026WAIC观察丨白辰甲:... 图片来源/新华社 ■中国经济时报记者 张一鸣 王彩娜 在人工智能浪潮下,具身智能的演变之路也在加速。...
澳大利亚工党大会上,中方官员愤... 据澳大利亚广播公司(ABC)7月23日报道,中国外交官因不满台湾地区代表出席澳大利亚工党(ALP)在...