Cocos2d-x版本:3.17.2

此篇博客续上篇:Cocos2d-x 中文标题设置

由于Cocos2dx与Visual Studio的编码方式不同,我们可以利用一个转换编码的函数来进行转换。

由于内容出现在场景内,而初始化的项目中,Helloworld并没有引入AppDelegate.cpp。所以我们需要重新在场景类中声明该函数,或者可以更加优雅地放入一个共有的配置头文件中,统一引入。

推荐:仅在HelloWorldScene.cpp中声明该函数。

std::string GBKToUTF8(const std::string& strGBK)
{std::string strOutUTF8 = "";WCHAR* str1;int n = MultiByteToWideChar(CP_ACP, 0, strGBK.c_str(), -1, NULL, 0);str1 = new WCHAR[n];MultiByteToWideChar(CP_ACP, 0, strGBK.c_str(), -1, str1, n);n = WideCharToMultiByte(CP_UTF8, 0, str1, -1, NULL, 0, NULL, NULL);char* str2 = new char[n];WideCharToMultiByte(CP_UTF8, 0, str1, -1, str2, n, NULL, NULL);strOutUTF8 = str2;delete[]str1;str1 = NULL;delete[]str2;str2 = NULL;return strOutUTF8;
}

依葫芦画瓢,替换原有的Helloworld标签文本为中文内容,同时以该内容作为参数传入该转换函数中。

这里我们可以看到,原本的内容出现了方框。

如果出现了□□□,一般代表我们的字体不支持对应的文字。

如果这块地方连□□□都没有出现,代表我们的编码依旧出现问题。

显然,我们需要一款支持中文的ttf文件。当然,为了一款ttf字体而去网上搜几十兆的ttf文件集不太现实。我们可以进入本地目录C:\Windows\Fonts,在其中挑选一款支持中文的就OK了。这里我们选择复制华文琥珀。

粘贴到对应的Cocos2d-x项目下的资源文件夹下。

至此,我们只需要使用该字体,转换编码即可。

    auto label = Label::createWithTTF(GBKToUTF8("皮卡丘"), "fonts/STHUPO.TTF", 24);

Cocos2d-x 中文内容设置相关推荐

  1. python-docx 使用教程_python docx 中文字体设置的操作方法

    最近用到了docx生成word文档,docx本身用起来很方便,自带的各种样式都很好看,美中不足的就是对中文的支持不够好.在未设置中文字体的时候,生成的文档虽然可以显示中文,但是笔画大小不一,很难看. ...

  2. phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护

    转载连接:http://www.cnblogs.com/huangcong/p/3687665.html phpexcel中文教程-设置表格字体颜色背景样式.数据格式.对齐方式.添加图片.批注.文字块 ...

  3. linux 邮件附件 中文,linux bash下通过mailx发送中文内容显示为附件的解决

    满意答案 skicotvo99 2017.01.30 采纳率:44%    等级:8 已帮助:561人 linux bash下通过mailx发送中文内容显示为附件的解决mailx版本,这里默认是mai ...

  4. Python+matplotlib绘图时显示中文的设置方法

    封面图片:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社 图书详情: =================== 在使用Python+mat ...

  5. 【Unity3D】Unity3D 软件安装 ( 注册账号并下载 Unity Hub | 安装 Unity Hub | 获取个人版授权 | 中文环境设置 | 安装 Unity3D 编辑器 )

    文章目录 一.注册账号并下载 Unity Hub 二.安装 Unity Hub 三.获取个人版授权 四.中文环境设置 五.安装 Unity3D 编辑器 一.注册账号并下载 Unity Hub Unit ...

  6. MiKTeX + Texmaker 组合下使.tex文件支持中文的设置方法

    [软件环境] ​MiKTeX(本文选用 basic-miktex-21.12-x64) https://miktex.org/ Texmaker(本文选用 Texmaker_5.1.2_Win_x64 ...

  7. MySQL导入sql脚本中文乱码设置和常用命令

    MySQL导入sql脚本中文乱码设置和常用命令 1. use database_name;  2. set names utf8; (或其他需要的编码)  3. source example.sql ...

  8. python中文字体下载_python docx 中文字体设置的操作方法

    最近用到了docx生成word文档,docx本身用起来很方便,自带的各种样式都很好看,美中不足的就是对中文的支持不够好.在未设置中文字体的时候,生成的文档虽然可以显示中文,但是笔画大小不一,很难看. ...

  9. python matplotlib 画图 不显示中文 中文乱码 设置中文字体

    在使用python matplotlib 画图时,由于matplotlib 默认是使用DejaVu Sans这种字体,不支持中文,所以我们在使用matplotlib画图包含中文内容要显示时就会变成方框 ...

最新文章

  1. 不使用任何后端代码可以开发应用程序吗?
  2. 图解 Attention(完整版)!
  3. mysql 5.6 online ddl_mysql5.6的online ddl功能测试
  4. 5种Python统计次数的方法
  5. 微软太良心,这么强大的软件竟然完全免费!
  6. mysql 3t_编译安装mysql
  7. Linux 总线、设备、驱动模型的探究
  8. imread函数_MATLAB图像处理:27:使用imtranslate函数平移图像
  9. pythonweb面试常见问题_python和web框架面试题目整理(3)
  10. 事务中的多线程引发的怪异现象
  11. 通过UEFI引导模式修改RAID卡jbod配置
  12. python, numpy中的.tile方法解释
  13. Java基础知识面试题(2021最新版)
  14. 计算机职业生涯规划书图文并茂,计算机职业生涯规划书范文
  15. 穆利堂推荐 新周刊,当下中国的12中孤单
  16. 决斗小游戏代码html,《游戏王:决斗链接》的基础玩法介绍
  17. 自动驾驶笔记-轨迹跟踪之①纯跟踪算法(Pure Pursuit)
  18. Caused by: java.lang.NumberFormatException: For input string: “?2130969371“
  19. 镜头之滤光片---关于日夜两用双通滤光片
  20. 关于如何学习日语的最快方法

热门文章

  1. [4G5G专题-33]:物理层-浅谈ZC序列的原理以及在LTE PSS中的应用
  2. Oracle 压缩表占用空间、 UNDOTBS01.dbf 占用空间过大解决
  3. Kubectl :--v 接口调试,以及设置日志输出详细程度
  4. 高考生如何用心理暗示给自己减压?
  5. VAPS XT开发入门教程02:安装配置
  6. Windows下RStudio的下载与安装教程
  7. html怎么自动增加序号,css如何使用计数器给元素自动编号?
  8. 复星联合创始人梁信军:3大趋势影响全球经济,区块链将重构社会生产关系
  9. 施工部署主要不包括_施工管理目标是单位工程施工部署的重要内容,其目标不包括()。A.质量目标B.社会行为目标C.工期目标...
  10. ezpolt和plot区别_stem与plot的区别