博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Learning Cocos2d-x for WP8(4)——中文显示
阅读量:4979 次
发布时间:2019-06-12

本文共 938 字,大约阅读时间需要 3 分钟。

C#(wp7)兄弟篇

Cocos2d-x中文显示,似乎还没有非常完美的解决方法,一切的根源还是UTF-8编码问题。

我选择了CCLabelBMFont结合位图坐标文件(.fnt)显示,CCLabelBMFont优于CCLabelTTF是因为CCLabelBMFont每次改变只改变图片坐标,而CCLabelTTF需要重新渲染。

1.修改.cpp编码方式

选中.cpp文件,点击菜单“文件”-〉“高级保存项”,选择“Unicode(UTF-8无签名)-代码页65001”编码。

2.制作位图坐标文件.fnt文件

工具:Bitmap font generator

下载:

使用方法参考:中“二. 中文字体定义: Default_Chinese.fontDefinition”

需要注意:

开始创建的中文字符文本文件另保存为编码格式为“UTF-8”

我添加了中文字符.txt文本文件

3.添加.fnt和.png

完成位图坐标文件文件制作后,添加到工程项目下Assets文件夹中的fonts文件夹下。

注意.fnt文件属性中的“包括在项目中”的值为“True”。

4.使用CCLabelBMFont显示中文

在前面的代码基础上添加如下代码

1     //显示中文2     CCLabelBMFont* pLableCN = CCLabelBMFont::labelWithString("国强", "fonts/YaHeiChinese.fnt", CCTextAlignmentRight, 32);3     pLableCN->setPosition(ccp(s.width / 2, s.height /10));4     this->addChild(pLableCN);

运行显示效果

问题

当需要显示三个中文字符时出错,似乎单数个字符都会出错。

显示四个中文时成功

中文字符.txt文本文件

希望知道原因的朋友指点指点原因。

 

著作权声明:本文由 原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢!

转载于:https://www.cnblogs.com/suguoqiang/archive/2013/03/15/2961628.html

你可能感兴趣的文章
背景色渐变(兼容各浏览器)
查看>>
MariaDB 和 MySQL 比较
查看>>
MYSQL: 1292 - Truncated incorrect DOUBLE value: '184B3C0A-C411-47F7-BE45-CE7C0818F420'
查看>>
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
查看>>
springMVC Controller 参数映射
查看>>
【bzoj题解】2186 莎拉公主的困惑
查看>>
Protocol Buffer学习笔记
查看>>
Update 语句
查看>>
软件工程-读书笔记(1-3章)
查看>>
iOS 电话在后台运行时,我的启动图片被压缩
查看>>
前端自动化测试之UI RECORDER(二、PC录制)
查看>>
Linq基本查询操作--帅选
查看>>
hdu 3496 二维费用的01背包
查看>>
poj 3159 差分约束+spfa
查看>>
Linux(Ubuntu)使用日记------tenserflow安装(pip安装法)
查看>>
《Linux权威指南》阅读笔记(2)
查看>>
高精度减法
查看>>
用css 实现凹陷的线条
查看>>
hadoop2.6.0实践:A03 例子验证
查看>>
Grails连接mysql数据库
查看>>