Cocos2d-x学习笔记(十二)之 文本渲染类

  在游戏中,文字占有很重要的位置,游戏的介绍、游戏中的提示和对话等都须要用到文字。Cocos2d-x在文字渲染方面提供了很是灵活的机制,既能够直接使用系统字,也能够自渲染字体,文本渲染类的继承关系以下:工具

  CCLabelAtlas、CCLabelBMFont、CCLabelTTF-->CCLabelProtocol。      CCTextFieldTTF-->CCLabelTTF。字体

  一、CCLabelAtlas类spa

  CCLabelAtlas类是使用图片做为文字的一种方式,该类能够经过图片直接定义。使用示例以下:code

 1 //建立CCLabelAtlas实例,参数:要显示的文字字符串、图片路径、字符宽度、字符高度、起始字符。
 2 CCLabelAtlas* label = CCLabelAtlas::create( "123", "fonts/charmap.png", 48, 64, " " );  3 
 4 //CCLabelAtlas类也可使用plist配置文件的描述来定义
 5 CCLabelAtlas* label = CCLabelAtlas::create( "123", "fonts/charmap.plist");  6 
 7 //使用CCLabelAtlas字体时,还能够定义颜色、透明度等参数,甚至文字标签页能够运动动做。
 8 label->setColor( ccRED );  9 
10 //设置动做
11 CCActionInterval* fade = CCFadeOut::create(1.0f); 12 CCActionInterval* fade_in = fade->reverse(); 13 CCFiniteTimeAction* seq = CCSequence::create(fade, fade_in, NULL); 14 CCAction* repeat = CCRepeatForever::create((CCActionInterval*)seq); 15 label->runAction( repeat );

  二、CCLabelTTF类blog

  CCLabelTTF类是经过系统字来实现字体标签的,使用示例以下:继承

1 //建立CCLabelTTF类实例,参数:标签文字内容、范围大小、对齐方式、字库名称、字号
2 CCLabelTTF* ttf = CCLabelTTF::create( "cclabel ttf", CCSizeMake(256, 32), kCCTextAlignmentLeft, "Helvetica", 12 );

  对齐方式能够为kCCTextAlignmentLeft(靠左对称)、kCCTextAlignmentCenter(靠中心对称)、kCCTextAlignmentRight(靠右对称)等。还能够经过设置setAnchorPoint设置整个字符串的锚点。游戏

  CCTextFieldTTF类是CCLabelTTF类的子类,它是输入框使用的文字标签,使用示例以下:图片

1 //建立CCTextFieldTTF类实例,参数:字符串、字体名称、字号
2 CCTextfieldTTF* textField = CCtextfieldTTF::create( "click here for input", FONT_NAME, FONT_SIZE );

  CCLabelTTF速度偏慢,尽可能使用另外的字体。字符串

  三、CCLabelBMFont类get

  CCLabelBMFont类也是文字渲染标签类。CCLabelBMFont类中的每一个字都是一个精灵类,意味着每一个字均可以有本身的旋转动做,而且支持FNT类型的文件。使用示例以下:

1 //建立CCLabelBMFont类实例,参数:显示的文字、FNT文件。能够给它设置锚点,也能够设置运动动做。
2 CCLabelBMFont* label = CClabelBMFont::create( "cclabel bmfont", "fonts/font.fnt" ); 3 
4 label->setAnchorPoint(cpp(0,0)); 5 
6 //能够得到单个文字,并能够为单个文字设置动做等。
7 CCSprite* char = (CCSprite*)label->getChildByTag(0);

  生成FNT配置文件的工具不一样的有不一样的工具,你们能够到网上去查找本身使用的平台的对应的工具安装并使用,这里就不介绍了。

相关文章
相关标签/搜索