CCLabel字体与文本

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。

 

你可能感兴趣的:(cocos2d-x)