android游戏开发框架libgdx的使用(二十一)—使用TTF字库支持中文
<div id="cnblogs_post_body">好久没有更新这个系列的文章了。今天下午在群上讨论libgdx对中文的支持问题。本来Hiero做是最好的,但是LIbgdx的BitmapFont不支持多图,常用汉字3500个,是在做不到一张图上。libgdx很早之前就有ttf的支持了,不过那个时候有点问题。经测试新版本(0.96)完全支持,特地总结出来和大家分享。
TTF字库
TTF(TrueTypeFont)是Apple公司和Microsoft公司共同推出的字体文件格式,随着windows的流行,已经变成最常用的一种字体文件表示方式,应用范围非常广。
如果是Windows操作系统,可以从Fonts文件夹中找到很多字库。也可以从网上下载。
我推荐YaHei.Consolas字库,看着很爽,反正我的eclipse就是用的这个字库。
gdx-setup-ui的使用
从libgdx下载0.96版本,可以看到文件结构如下:
http://images.cnblogs.com/cnblogs_com/htynkn/201208/201208242012567297.jpg
强烈运行gdx-setup-ui.jar,这一个项目初始化工具。
运行界面如下:
http://images.cnblogs.com/cnblogs_com/htynkn/201208/201208242013054977.jpg
项目名字,包名什么的按情况填写。在中间的Required配置中可以直接下载最新的稳定版本和Nightly版本。不过推荐选用本地的附件。
http://images.cnblogs.com/cnblogs_com/htynkn/201208/201208242013117381.jpg
不用解压,直接选择zip文件,它会自动抽取需要的文件。
我使用的Eclipse,直接Import即可。
http://images.cnblogs.com/cnblogs_com/htynkn/201208/201208242013142874.jpg
我只生成了桌面项目,一般可以把Android和Web的一起生成了。
注意一下,默认的Android项目对应的SDK是15,可以根据需要更改。有时候导入的项目会有红色感叹号,添加一个assets文件夹即可。
http://images.cnblogs.com/cnblogs_com/htynkn/201208/201208242013187702.jpg
其中back-libgdx项目是我们的核心,一切逻辑什么的都在这里实现。back-libgdx-XXX是对应的启动而已。
libgdx使用TTF字库
准备一个TTF字库改名为font.ttf复制到assets文件夹。从压缩包中找到gdx-stb-truetype-natives.jar和gdx-stb-truetype.jar。其中gdx-stb-truetype-natives.jar添加到桌面项目张,gdx-stb-truetype.jar添加到核心项目中去。如图:
http://images.cnblogs.com/cnblogs_com/htynkn/201208/201208242013223684.jpg
现在来看看最关键的方法TrueTypeFontFactory.createBitmapFont。
我们通过它创建一个支持ttf字库的BitmapFont出来。它需要一个FileHandle和要支持的文字。当然还有一些参数,具体意义可以参考API文档。
也就是说我们需要使用TTF字库的哪些文字必须声明出来。不过问题也不到,3500常用汉字基本可以满足要求。网上还有一个常用500字,不过那个完全不够用。
我这里随便写几个作为演示。
<div class="cnblogs_Highlighter">public static final String FONT_CHARACTERS = "世界人民爱好的美好中文支持再看看";
页:
[1]