Cocos2d-x学习笔记:完全掌握C++ API与游戏项目开发 (未来书库)
上QQ阅读APP看书,第一时间看更新

4.3 位图字体制作

在4.2.1节的实例中位图字体包含两个文件:纹理图集(.png)和字体坐标文件(.fnt),图4-8是纹理集文件BMFont.png。

图4-8 图片集文件

坐标文件BMFont.fnt代码如下:

info face="AmericanTypewriter" size=64 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=2,2
common lineHeight=73 base=58 scaleW=512 scaleH=512 pages=1 packed=0
page id=0 file="BMFont.png"
chars count=95
char id=124 x=2 y=2 width=9 height=68 xoffset=14 yoffset=9 xadvance=32 page=0 chnl=0 letter="|"
char id=41 x=13 y=2 width=28 height=63 xoffset=1 yoffset=11 xadvance=29 page=0 chnl=0 letter=")"
char id=40 x=43 y=2 width=28 height=63 xoffset=4 yoffset=11 xadvance=29 page=0 chnl=0 letter="("
…
char id=32 x=200 y=366 width=0 height=0 xoffset=16 yoffset=78 xadvance=16 page=0 chnl=0 letter="space"

图片集文件和坐标文件需要放置在Resources目录下,文件命名相同。图片集合和坐标文件是可以通过位图字体工具制作而成的。

4.3.1 Glyph Designer工具

目前,比较流行的位图字体工具:BMFont与Glyph Designer。BMFont(http://www.angelcode.com/products/bmfont/)是一款免费的、针对Windows平台的位图字体工具;Glyph Designer(http://71squared.com)是一款非常优秀的收费位图字体工具,它有Windows和Mac OS X两个版本。这里我们重点介绍Windows版的Glyph Designer工具的使用。

Windows版的Glyph Designer工具可以在https://71squared.com/gdx网址下载,Glyph Designer是一个收费工具,需要购买软件许可。Windows版本安装成功之后的界面如图4-9所示。

图4-9 Glyph Designer Windows的操作界面

在图4-9所示的界面中主要分为5个区域:①号区域是菜单;②号区域是选择字体;③号区域是工具栏;④号区域是参数设置区;⑤号区域是预览区。

4.3.2 使用Glyph Designer制作位图字体

下面我们通过一个实例介绍Glyph Designer工具制作位图字体的过程。

1. 选择字体

图4-9所示界面的②号区域可以选择字体,这里我们可以看到很多的可选字体,这些字体都是当前操作系统安装的字库。如果可选字体过多,可以通过字体列表顶部的搜索栏对字体进行搜索。单击界面左侧列表里的字体名称,中间预览区里的文字字体就会随之变化。

有的字体带有不同的样式,例如正常、粗体、斜体和瘦体等,想要切换这些效果,我们可以通过选择字体列表下侧的“Normal”来实现在下拉列表中可以选择不同样式,如图4-10所示。此外,我们还可以设置文字的大小,拖到字体设置滑块改变字体大小,如图4-10所示。

图4-10 选择字体样式

2. 字体填充颜色

我们还可以为字体填充颜色,如图4-11所示,在右边的参数设置区中选择Fill标签,打开字体填充颜色参数设置。这里可以设置颜色的RGBA数值,其中A是指透明度。

图4-11 字体填充颜色

3. 字体描边

字体描边是为字体添加边框或轮廓效果,如图4-12所示,在右边的参数设置区中选择Stroke标签,打开字体描边参数设置。

图4-12 字体描边

字体描边属性如下:

●StokeWidth是设置描边的宽窄,单位是像素。

●Style是描边样式,它有三个样式可以设置,分别是Outer(外侧)、Inner(内侧)和Centred(居中)。

●Join Style是描边拐角连接风格,它有三个风格可以设置,分别是Mitre(斜接)、Round(圆角)和Bevel(斜角),它们的区别如图4-13所示。其中,Mitre(斜接)效果可以通过调整Mitre Limit(斜接限制)来调整,通常大于3时呈平角效果,数值过大文字边缘会出现尖角,最大值为20。

图4-13 拐角连接风格

4. 字体阴影

字体阴影是一种字体效果,如图4-14所示,在右边的参数设置区中选择Shadow标签,打开字体阴影参数设置。

图4-14 字体阴影

在阴影参数设置中可以设置如下参数:

●Angle:角度,是设置阴影倾斜角度。

●Distance:距离,是设置阴影的距离。

●Blur:模糊度。

字体Bevel参数是设置填充颜色的倾斜面,具体参数与阴影类似。另外,参数设置中的Apply kernings是调整字距,选中该选项可以对文字的字间距进行自动调整。

5. 包含汉字字符

Glyph Designer工具还可以将汉字添加到位图字体文件中,这样就可以在游戏中显示汉字了。单击工具栏中的Generate Texture Atlas(生产纹理图集)按钮,如图4-15所示,可以在Glyphs→Included Glyphs中输入要包含的中文字符。

图4-15 生产纹理图集

6. 导出位图字体文件

设置好文字的字体、大小和填充等属性后,就可以生成游戏引擎所需要的位图字体文件了。单击软件工具栏最右边的Export Bitmap Font(导出位图字体)按钮,会弹出导出对话框,在导出对话框中选择保存目录,默认导出格式是fnt文件。导出成功后,会在导出目录下生成纹理图集(.png)和字体坐标文件(.fnt)。