今天用cocos studio加了一个TextBMFont控件,然后需要动态修改TextBMFont控件显示的字符串,用来显示中文的,结果一直无法修改TextBMFont控件的值,最后原来是写到xml文件的中文字符串没有保存成UTF-8格式。
=====================================================================================
记录一下完整实现步骤
一、制作BMFont字体
1、下载并安装BMFont软件
2、因为要用到中文字符,所以要进行字体设置。选项->字体设置
3、设置导出设置,选项->输出设置
4、新建txt文本,输入所需要的字符,然后另存为UTF-8格式,否则软件不识别
5、回到BMFont软件,编辑->从文件中选择字符,找到刚才保存的txt文本
6、选项->位图字体另存为,这样就生成了fnt和png格式的文件
二、新建XML文件
由于cocos2d-x直接使用会出现乱码,这里我们使用将中文字符写到xml文件中的方法。注意文件编码要保存为UTF-8,xml文档格式如下
<dict>
<key>hello</key>
<string>你好</string>
<key>world</key>
<string>世界</string>
</dict>
三、代码中解析
auto m_res = CSLoader::createNode("test.csb");
if(m_res == nullptr)
{
return false;
}
addChild(m_res);
ui::TextBMFont* show = dynamic_cast<ui::TextBMFont*>(chestTip->getChildByName("Show"));
//创建词典类实例
auto config = Dictionary::createWithContentsOfFile("Config.xml");
const char *hello = ((String*)config->objectForKey("hello"))->getCString();
show>setString(hello);
需要#include "../cocos/editor-support/cocostudio/CocoStudio.h"
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。