(转) cocos2dx 显示中文
总结一句话,就是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 显示中文的更多相关文章
- cocos2d-x 显示中文字符和解析XML文件 转载
源地址:http://codingnow.cn/cocos2d-x/1038.html 在cocos2d-x中直接显示中文的时候会出现乱码,虽然在实际开发中把字符串直接写在代码里也不是好的做法,但是有 ...
- cocos2D-X 显示中文
{ 将所在的cpp文件改为utf-8 无签名格式再编译 //但,治标不治本 }
- cocos2d-x wp8 中文显示问题
cocos2d-x项目在wp8下中文显示不了.有两个原因: 1. 本身字符串的utf8编码, 有问题. 2. 显示中文所须要的字体,缺失. 要解决第二个问题非常easy,在fonts下加入一个中文字体 ...
- Cocos2d-x项目移植到WP8系列之八:CCLabelTTF显示中文不换行
原文链接: http://www.cnblogs.com/zouzf/p/3985330.html 在wp8平台上,CCLabeTTF显示中文不会自动换行,看了下源码,原来底层的实现是根据text的空 ...
- 移动开发之浅析cocos2d-x的中文支持问题
题记:这阵子一直在学习cocos2d-x,其跨平台的特性确实让人舒爽,引擎的框架概念也很成熟,虽然相应的第三方工具略显单薄,但也无愧是一件移动开发的利器啊,有兴趣的朋友有时间就多了解吧. 使用引擎的过 ...
- Cocos2d-x 对于中文的支持-----iconv库
Cocos2d-x 对于中文的支持-----iconv库 转自:http://momowing.diandian.com/post/2013-01-16/40047183777 Jetion: 我们在 ...
- cocos2d-x解决中文乱码问题的几种办法
昨天改写cocos2d-x的例程,想在其基础上加上一个计分系统.没有分数实在让人没有玩下去的动力! 我在主场景上加上了一个CCLabelTTF,用于显示分数. 但是意外的发现,当内容含有中文时,CCL ...
- win10 环境 gitbash 显示中文乱码问题处理
gitbash 是 windows 环境下非常好用的命令行终端,可以模拟一下linux下的命令如ls / mkdir 等等,如果使用过程中遇到中文显示不完整或乱码的情况,多半是因为编码问题导致的,修改 ...
- linux显示中文
设置centos显示中文 怎么设置Linux系统中文语言,这是很多小伙伴在开始使用Linux的时候,都会遇到一个问题,就是终端输入命令回显的时候中文显示乱码.出现这个情况一般是由于没有安装中文语言 ...
随机推荐
- Unity3D游戏引擎最详尽基础教程
第一节 加入重力 我们先打开Unity3d,新建一个场景(Scene),新建的时候应该会有对话框要求你加入哪些Asset Package,记得选择Physics Material,因为后面我们一定要用 ...
- 科技来电:不容错过的win10轻度美化攻略
作为微软不择手段采用弹框.限时.警告等方式强推win10的结果, win10市场占有率大增,微软高兴了,可用户苦了,吹洗剪+杀马特般的metro&传统混血开始菜单.鼻青脸肿般的任务栏.单一颜色 ...
- oracle函数,查询,事务
函数包括:单行函数,多行函数(分组函数) 数值函数: --绝对值 select abs(-12.3) from dual; --向上取值 select ceil(5.3) from dual; --向 ...
- 20145337《Java程序设计》第八周学习总结
20145337<Java程序设计>第八周学习总结 教材学习内容总结 15.1日志 15.1.1日志API简介 使用日志的起点是logger类,logger实例的创建有许多要处理的要素,必 ...
- BizTalk 开发系列(四十一) BizTalk 2010 BAM 安装手记
使用64位系统可以支持更大的内存,现在服务器基本上都使用64位系统.微软从Windows Server 2008 R2开始服务器版的操作系统也只支持64位了,不过对于像BizTalk这种“繁杂的东西” ...
- 一道打印M的面试题
public class Demo { /** * 平面图形题(二维数组) */ public static void main(String[] args) { int num = 25; int ...
- python display color output
起因 在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中.而一般的应用服务器,第三方库,甚至服务器的一些通告也会在终端中显示,这样就搅乱了我们想 ...
- 解决Tomcat无法shutdown进程
转自:http://my.oschina.net/yongyi/blog/405198 问题分析 这个在windows下没有碰到过,因为此前跑Tomcat都是以服务而不是命令脚本的形式跑的,而且已经换 ...
- 【爬虫】python之BeautifulSoup用法
1.爬虫 网络爬虫是捜索引擎抓取系统的重要组成部分.爬虫的主要目的是将互联网上的网页下载到本地形成一个或联网内容的镜像备份.通过分析和过滤HTML 代码,实现对图片.文字等资源的获取. 2.pytho ...
- JMeter学习-010-JMeter 配置元件实例之 - CSV Data Set Config 参数化配置
众所周知,在进行接口测试的过程中,需要创建不同的场景(不同条件的输入,来验证不同的入参的返回结果).因而,在日常的自动化接口监控或商品监控等线上监控过程中,需要配置大量的入参来监控接口的返回是否正确. ...