前言

在游戏中使用不同的字体可以达到不同的视觉效果,给人以良好的感觉。如果使用字体文件不当的话,不仅造成游戏资源严重浪费。也同时加大了整个游戏包体的大小。

在游戏中经常使用的字体文件的类型:

  1. TTF 字体文件
  2. BMFront 字体文件
  3. Atlas(艺术字体文件)

如何使用裁剪并使用【TTF字体】

一般字符比较齐全的 TTF 字体文件往往较大。而一个字体文件里很多的字符在游戏中都不会使用到。这就造成游戏资源严重浪费。也同时加大了整个游戏包体的大小。要使用不同的 TTF 字体文件,又想字体文件的总和不太大。怎么办呢,然而天无绝人之路,总是柳暗花明又一村,终于想到了一个办法,裁剪 TTF 字体文件。如下图所示:

  1. 选择要裁剪的字体文件
  2. 选择裁剪后的字体文件保存路径
  3. 输入裁剪后保留的字体
  4. 点击运行(会弹出字体运行成功的窗体,此时你可以看裁剪后的字体文件)
  5. 把裁剪后的字体拖入 CocosCreator 资源管理器中,并在场景新建一个 Node 节点,添加一个 Label 组件,并设置如下图所示。

如何制作并使用 BMFront 字体文件(以 BMFront 软件为例)

在BMFont上找到Option菜单,然后选择Font Setting设置字体,然后设置其中的Font(字体可以按需求随便选择)和Charset(默认的Unicode就可以)

设置导出选项,在BMFont上找到Option菜单,然后选择Export options,在cocos2d-x中需要按如下设置

准备导出字体,在BMFont上找到Options,然后选择Save bitmap font as,会发现保存路径下多出了一个fnt文件和一个png文件(其实这个和plist文件保存拼图信息原理差不多)。

在 CocosCreator 中使用和 TTF 字体使用差不多,这里就不在详细的叙述了。参照上面 TTF 字体使用即可。

如何利用UI提供的字符图形来生成自定义字体(以 BMFront 软件为例)

首先针对真彩色的图形,我们要做一些设定,点击"Options"->“Export options”, 在弹出的窗口中,注意红框中“位深”,设为32

然后,点击"Edit"->"(Un)Select all chars",取消选择所有字符。因为我们将在后边导入需要的字符,现在点击"Edit"->"Open Image Manager", 那个"Image"是菜单,可以点击。选择"Image"->"Import image...", 点击"Browse"按钮,在弹出的“打开”窗口中选择一个字符图片,并和相应的字符编码对应上。

- 查看字符编码 http://www.mytju.com/classcode/tools/encode_utf8.asp

如何制作并使用Atlas(艺术字体文件)

使用 Atlas 文件需要 UI 提前做好图片,只需要在 CocosCreator 新建一个艺术字体文件,并做如下配置(如图所示),并保持就好了,使用方式和 TTF 字体一样。

几种字体文件使用的比较

在游戏要最大限度的减少使用 TTF 字体,尽量使用 BMFront 字体文件和Atlas艺术字体,这样可以减少渲染批次,提高游戏的性能。


关注【游戏讲坛】微信公众号,获取最新动态!