分类: cocos2dx 2014-01-18 10:31 253人阅读 评论(0) 收藏 举报

目录(?)[+]

总结一句话,就是UTF-8编码。

1. 中文FNT字体文件制作

使用Bitmap Font Generator制作字体文件

选择Opotion->FontSetting,来设定需要导出的字体,主要注意选择Unicode编码,其他的size就是设置字体大小,height设置100%就行了。

导出设置,padding其实就是字的边缘留多大的空间,主要是考虑后期加入一些特效。bit depth要选择32的,不然背景是不会透明的!

presets选择一种自己要的样式就行了,我这里选的是 黑字白底。下边的 Texture选择 png。

具体字符的选择,可以通过主界面右侧的列表选择字符,但是数量很大,尤其是汉字,太多了。。。

选择菜单 Edit->Selecting text from file... 选择一个文件,里面包含你想生成字体的文字,使用文本工具创建一个txt的文件

通过Selecting text from file载入,如果弹出错误,就说明这个1.txt文件的编码方式不是utf-8的,需要修改它的编码方式,很多文本编辑器都能做到。

载入之后,option->Save bitmap font as...就会生成一个 fnt文件和一个png文件,可以打开png查看是不是自己想要的效果

字体文件就搞定了。

2. cocos2dx字体文件使用

先添加编码转换函数

#include "iconv/iconv.h"
#pragma comment(lib,"libiconv.lib")
int GBKToUTF8(std::string &gbkStr)
{
iconv_t iconvH; iconvH = iconv_open("utf-8","gb2312");
if(iconvH == ){
return -;
}
const char* strChar = gbkStr.c_str();
const char** pin = &strChar; size_t strLength = gbkStr.length();
char* outbuf = (char*)malloc(strLength*);
char* pBuff = outbuf;
memset(outbuf,,strLength*);
size_t outLength = strLength*;
if(- == iconv(iconvH,pin,&strLength,&outbuf,&outLength)){
iconv_close(iconvH);
return -;
}
gbkStr = pBuff;
iconv_close(iconvH);
return ;
}

这个库cocos2dx都是自带的,搜一下就能找到。

std::string str2 = "得分:";
GBKToUTF8(str2);
scoreItem=CCLabelBMFont::create(str2.c_str(),"fonts/Felt.fnt");

这样就可以显示汉字了!

(转) cocos2dx 显示中文的更多相关文章

  1. cocos2d-x 显示中文字符和解析XML文件 转载

    源地址:http://codingnow.cn/cocos2d-x/1038.html 在cocos2d-x中直接显示中文的时候会出现乱码,虽然在实际开发中把字符串直接写在代码里也不是好的做法,但是有 ...

  2. cocos2D-X 显示中文

    { 将所在的cpp文件改为utf-8 无签名格式再编译 //但,治标不治本 }

  3. cocos2d-x wp8 中文显示问题

    cocos2d-x项目在wp8下中文显示不了.有两个原因: 1. 本身字符串的utf8编码, 有问题. 2. 显示中文所须要的字体,缺失. 要解决第二个问题非常easy,在fonts下加入一个中文字体 ...

  4. Cocos2d-x项目移植到WP8系列之八:CCLabelTTF显示中文不换行

    原文链接: http://www.cnblogs.com/zouzf/p/3985330.html 在wp8平台上,CCLabeTTF显示中文不会自动换行,看了下源码,原来底层的实现是根据text的空 ...

  5. 移动开发之浅析cocos2d-x的中文支持问题

    题记:这阵子一直在学习cocos2d-x,其跨平台的特性确实让人舒爽,引擎的框架概念也很成熟,虽然相应的第三方工具略显单薄,但也无愧是一件移动开发的利器啊,有兴趣的朋友有时间就多了解吧. 使用引擎的过 ...

  6. Cocos2d-x 对于中文的支持-----iconv库

    Cocos2d-x 对于中文的支持-----iconv库 转自:http://momowing.diandian.com/post/2013-01-16/40047183777 Jetion: 我们在 ...

  7. cocos2d-x解决中文乱码问题的几种办法

    昨天改写cocos2d-x的例程,想在其基础上加上一个计分系统.没有分数实在让人没有玩下去的动力! 我在主场景上加上了一个CCLabelTTF,用于显示分数. 但是意外的发现,当内容含有中文时,CCL ...

  8. win10 环境 gitbash 显示中文乱码问题处理

    gitbash 是 windows 环境下非常好用的命令行终端,可以模拟一下linux下的命令如ls / mkdir 等等,如果使用过程中遇到中文显示不完整或乱码的情况,多半是因为编码问题导致的,修改 ...

  9. linux显示中文

    设置centos显示中文   怎么设置Linux系统中文语言,这是很多小伙伴在开始使用Linux的时候,都会遇到一个问题,就是终端输入命令回显的时候中文显示乱码.出现这个情况一般是由于没有安装中文语言 ...

随机推荐

  1. 安装配置redis

    1.1查看当前系统环境 查看当前系统版本信息: 查看当前网络连通情况: 1.2使用yum安装 1.3确认redis的安装目录 1.4查看\修改配置文件 1.5启动redis服务并验证 1.6使用tel ...

  2. JS判断登陆端是PC还是手机

    前些天朋友问我怎么判断登陆端是PC还是手机...自己也是很困惑,然后自己查了资料,这些东西都藏在USER-AGENT里面,查了他的一些属性,写了一个简单的验证页面大家共同学习. 读取navigator ...

  3. php课程---练习连接数据库及增删改

    方式一:用php中的内置函数来做 (适用于5.1之前的版本) //1.生成连接 $conn = mysql_connect("localhost","root" ...

  4. php对二维数组进行相关操作(排序、转换、去空白等)

    php对二维数组进行相关操作(排序.转换.去空白等) 投稿:lijiao 字体:[增加 减小] 类型:转载 时间:2015-11-04   这篇文章主要介绍了php对二维数组进行相关操作,包括php对 ...

  5. SUSE命令

    本人很喜欢Suse,在工作中也很喜欢总结关于Suse的经验教训,下面就这个问题来详细说说Suse常用命令.Suse常用命令的问题希望对你有所帮助.看完本文你肯定有不少收获,希望本文能教会你更多关于Su ...

  6. Android开发常见问题系列之一:eclipse中adb.exe启动失败或者无法启动

    这种情况下大多数是因为存在kadb.exe在执行,或者adb.exe端口被占用. 1,检查是否存在kadb.exe程序正在执行 打开任务管理器,打开详细信息,按照字母顺序找到kadb.exe,结束进程 ...

  7. Extjs 图片的自动缩放

    function resizeImage(obj) { var width = Ext.getCmp('welcome').getWidth(); //welcome 为一Panel的id 分割线下的 ...

  8. 弹出框以及提示插件lghdialog.js的使用

    以下使用方法 swfupload的使用

  9. 导入charts开源库到工程里面

    http://blog.csdn.net/zww1984774346/article/details/50608338 http://blog.csdn.net/zww1984774346/artic ...

  10. Maven聚合与继承的实例讲解(二)

    继续上一节讲Maven的内容,我们这个节继续讲Maven继承和聚合的其他内容.    现在我们新建一个实例来测试Maven有关于聚合的部分     测试开始 一.建立以pom为packaging的项目 ...