小说网 找小说 无限小说 烟雨红尘 幻想小说 酷文学 深夜书屋

cocos2dx 字体BMFont,Atlas

为了更加个性化,系统提供的字体,有时候没法满足我们的要求,所以cocos2dx提供了自定义字体控件。

分别是CCLabelBMFont和CCLabelAtlas,先看BMFont的效果

CCLabelBMFont* label = CCLabelBMFont::create("abc", "fonts/bitmapFontTest.fnt");
    addChild(label);
    label->setPosition(ccp(__winSize.width/2, __winSize.height/2));


在上面的代码中,我们创建了一个CCLabelBMFont,第一个参数制定要显示的内容,第二个参数制定了一个字体文件,我们来看看这个字体文件吧


从字体文件看到有个file=“bitmapFontTest.png”指的是,字体图片

后面每一行制定了一个字符的位置,再看看bitmapFontTest.png吧


这个才是真正的字体文件,哪个fnt文件其实是字体的描述文件,这个道理懂了就行,一般这种事情是美工来做的

程序员知道个原理就行了。

因为BMFont可以详细制定每个字符的大小,因此它可以做成不等宽的,cocos2dx还提供一种等宽图片字体,它的处理不太相同。

--------------------------atlas

还是一样先看例子

// 等宽
    CCLabelAtlas* label2 = CCLabelAtlas::create("1000", "fonts/labelatlas.png", 16, 20, '.');
    addChild(label2);
    label2->setPosition(ccp(__winSize.width/2+200, __winSize.height/2+200));


创建函数第一个“1000”,表示要显示的内容,第二个参数表示字体文件,第三个和第四个参数表示每个字的宽度和高度,嗯,等宽体现在这里了,最后一个表示字体文件里,第一快图片对应的字符。

我们也来看看字体文件,


由于是等宽,所以不需要描述文件了,直接用图片,但是每个字占的像素还是要和美工沟通好啊,不然就自己琢磨吧。


posted on 2014-05-01 17:24  牛栏山1  阅读(79)  评论(0编辑  收藏  举报

导航