CCLabel字体与文本
Cocos2d-x中提供了3种文本,分别是CCLabelTTF,CCLabelAtlas,CCLabelBMFont。
1.CCLabelTTF
1.1 CCLabelTTF :: create();
无参创建方式,默认的字体类型是:Helvetica。可以使用setString(const char* str)添加显示内容。
1.2 CClabelTTF:: create(const char*content. const char* fontName , float fontSize)
参数:需要显示的字符串;
参数:字体的名称,一般为ttf的文件,无需添加.ttf;
参数:字体的大小。
举例:
CCLabelTTF *label = CCLabelTTF :: create(“Hello!” , “fonts/A Damn Mess” , 20);
//CCLableTTF对象使用了位于Resource/fonts文件夹下的A Damn Mess.ttf字体文件
this->addChild(label);
2.CCLabelBMFont
CCLabelBMFont :: create(const char* content , const char* fntName);
参数:显示的字体内容;
参数:fnt字体资源文件名称。
举例:
CCLableBMFont *label = CCLabelBMFont :: create(“hello” , “fonts/boundsTestFont.fnt”);
需要注意的是,要显示的文字必须是在fnt字体资源文件中可以定位到的,否则会出现错误。
3.CCLabelAtlas
3.1 CCLabelAtlas :: create(const char*content , const char* plistName);
参数:要显示的内容;
参数:plist文件名称。
举例:
CCLabelAtlas*label =
CCLabelAtlas : :create(“HELLO” , “fonts/tuffy_bold_italic-charmap.plist”);
需要注意的是,显示内容需要是plist文件中存在的字体内容,严格要求大小写,否则会报错。
3.2 CCLabelAtlas :: create(const char*content , const char* pngName , int width , int height, unsigned intstartCharMap);
参数:显示的内容;
参数:文字图片资源名称;
参数:每个文字的宽;
参数:每个文字的高;
参数:字体起始表示。
举例:
CCLabelAtlas *label = CCLabelAtlas :: create(“你好” , “bitmapFontChinese.png” , 23,23 , 1);
【说明】
CCLabelTTF继承自CCSprite与CCLableProtocol两个类,字体的显示是靠Texture2D(2D纹理)绘制的,每次调用setString改变显示字符串内容的时候,一个新的OpenGL纹理将会被创建,这就意味着setString与创建一个新的CCLabelTTF一样慢。
所以在开发中,对那些需要频繁更新内容的文本,一般不使用CCLabelTTF,而是使用CCLableAtlas或者CCLabelBMFont。