lua cocos 中对FNT字体的使用

在游戏中,通常要使用到FNT字体,FNT字体实际上就是将我们使用的0123456789与图片中的数字联系起来,所以在代码中尽量减少对该图片的缩放操作。可能会导致一系列不可预知的错误。
每个FNT字体打开都是这种格式:

lua cocos 中对FNT字体的使用

第一行是对字体的介绍:

face=”最像素EX2” : 字体为”最像素EX2”,

size=20:大小为20像素

bold=0 :不加粗

italic=0:不使用斜体

charset=”“: charset是编码字符集,这里没有填写值即使用默认,

unicode=0:不使用Unicode

stretchH=100:纵向缩放百分比

smooth=1 :开启平滑

aa=1:开启抗锯齿

padding=0,0,0,0:内边距,文字与边框的空隙。

spacing=1,1 :外边距,就是相临边缘的距离。

第二行是对应所有字贴图的公共信息(common)

lineHeight=20 base=15 scaleW=400 scaleH=100 pages=1 packed=0

lineHeight=20:行高,如果遇到换行符时,绘制字的位置坐标的Y值在换行后增加的像素值。

base=15:字的基本大小

scaleW=400:图片大小

scaleH=100:图片大小

pages=1 :此种字体共用到几张图。

packed=0:图片不压缩

第三行是对应当前字贴图的信息

//第一页,文件名称是”dibao.png”

page id=0 file=”dibao.png”

第四行是当前贴图中所容纳的文字数量

chars count = 10

第五行起把当前贴图中所用到的所有文字的编码以及对应在图片上的矩形位置,偏移等列出来

char id=48 x=0 y=0 width=40 height=46 xoffset=0 yoffset=0 xadvance=40 page=0 chnl=15

第一个字符ASCII码,也就是‘.’,位置为0,0,宽为40,高为46, 绘制到屏幕的相应位置时,像素偏移(0,0),绘制完后相应位置的x往后移40像素再画下一个字,字的图块在第1页上。

再后面是描述两个字在进行组合绘制时字距调整的相关信息,这里就不做介绍了。