文本
文本是FairyGUI的一种基础控件。
动态字体
动态字体(Dynamic Font)是指直接使用ttf字体渲染文字。ttf字体文件可能存在于系统中,也可能打包在游戏中。
FairyGUI编辑器运行的环境,与应用实际运行的环境是不相同的。比如你在PC上制作界面,最终界面可能运行在手机上。在编辑界面时,动态字体是使用FairyGUI使用编辑器所在的系统环境的字体,在运行时,则是由实际的运行环境,例如Android系统等提供的字体。设计时的字体可以与运行时的字体不同,但建议选取效果较为相近的。
设置编辑器使用的字体可以在项目属性里设置。运行时的字体则需要由代码设置:
//Droid Sans Fallback是安卓上支持中文的默认字体
UIConfig.defaultFont = 'Droid Sans Fallback';
设置运行时使用的字体需保证该字体在目标平台上也存在,否则达不到想要的效果。如果你想打包字体到目标平台,那么需要查询引擎提供的支持,比如Unity,可以这样做:../unity/font.html
如果要在编辑器里使用ttf字体,请双击ttf文件,确认安装到系统,这样重启编辑器后就可以在字体列表里看到这种字体了。
位图字体
在游戏中经常有这样的设计:一些表达特别元素的字符,使用了图片来制作,例如:
FairyGUI编辑器支持位图字体。首先,我们创建一种字体。点击菜单“编辑”->“创建位图字体”,然后,弹出了字体编辑窗口,我们从资源库里把制作好的数字图片拖入到窗口,并设置每个图片对应的字符,点击保存,这样我们的字体就设置好了。如果要修改每个字符对应的图片,将图片重新拖入即可。
使用图片代替字符的办法,对于少量文本,这是非常方便的,但如果需要嵌入成百上千字,为每个字制作为图片,然后再每个设置对应字符,这工作量就有点大了。FairyGUI编辑器支持外部的位图字体制作工具BMFont、ShoeBox等,这些工具的使用方法请自行参考网络资料。使用外部工具最后会导出一个fnt文件(注意1:文件格式应该选择fnt格式,不支持xml或者json),在编辑器点击导入素材,然后选择这个fnt文件,就可以把字体导入到编辑器里了。
以下是推荐的BMFont导出设置:
以下介绍位图字体设置界面的功能:
图片 资源库里一张图片的名字。如果是由BMFont导入的字体,则此栏为空。
字符 该图片对应的字符。
偏移X 在水平方向上该字符的偏移。
偏移Y 在垂直方向上该字符的偏移。负数表示字符上移,整数表示字符下移,但因为文字排版都是基线对齐,下移的结果可能是整行都发生下移。
占位 一般来说,一个字符的水平占位宽度是由字符图片的宽度决定的。如果这里的数值不为0,则使用该值作为字