在游戏中,文字占有很重要的位置,游戏的介绍、游戏中的提示和对话等都须要用到文字。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配置文件的工具不一样的有不一样的工具,你们能够到网上去查找本身使用的平台的对应的工具安装并使用,这里就不介绍了。