在遊戲中,文字佔有很重要的位置,遊戲的介紹、遊戲中的提示和對話等都須要用到文字。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配置文件的工具不一樣的有不一樣的工具,你們能夠到網上去查找本身使用的平臺的對應的工具安裝並使用,這裏就不介紹了。