1、CCLabelAtlas 比CCLabel(CCLabelTTF)快很多 2、CCLabelAtlas 中的每个字符必须有固定的高度和宽度
3、CCLabelAtlas 可以做你想要的,前提是你提供给他一张你想操作的字体的图片
4、CCLabelBMFont 比CCLabelAtlas 更灵活,他支持边宽的字体
5、增加一点,要用CCLabelAtlas创建字体你必须给出图片到字体的映射方式,也就是设置里面startCharMap的参数值,每种字体的映射方式不一样 CCLabelBMFont
继承关系图
介绍
1、 首先CCLabelBMFont是CCSpriteBatchNode的一个子类(这个很强大)
2、
他能够把每一个字符当做一个CCSprite,这意味着每一个单独的字符都可以有自己的动作(什么旋转,放大,改变透明度)
3、
所有内部字符的的定位点(anchorpoint)为(0.5,0.5),也就是说每一个字符相对于坐标点的位置为该字符的中心点(而不是左上角,或则左下角),这里说了建议不要去修改他,因为这种改变可能会影响绘制
4、
CCLabelBMFont不仅具有CCLabel(CCLabelTTF)的灵活性,而且有CCLabelAtlas的速度和所有CCSprite的功能,如果你在考虑用CCLabelBMFont还是CCLabelAtlas时,那么就用CCLabelBMFont吧
CCLabelTTF
继承关系图
CCLabelTTF很慢,考虑用CCLabelAtlas和CCLabelBMFont来替代
字体的创建方式
和cocos2d-x中大多数类型一样,字体也实现了静态工厂的模式(通过静态方法创建,采用CCPoolManager管理内存),当然你也可以采用非静态方法来创建
上面已经说了CCLabelAtlas创建的字体相对于你给的字体图片来说必须有固定的宽度和高度,你还应该给出固定的映射方式(否则创建的字体达不到你的要的效果)
setString函数:
我们可以通过初始化的方式设置label显示的字符串,如果你想改变label显示的字符串,那么你就需要用到setString函数
|
|
来自: 爱蓝斯 > 《cocos2d-x》