四、这个Atlas4测试出现一个新函数,CCNode* getChildByTag ( int tag ) ;这个函数获取CCLabelBMFont里面的单独字符,从0开始。利用这个函数,我们可以单独设置每一个字符颜色setColor,动作选择runAction等等,例如
CCLabelBMFont *label = CCLabelBMFont::create("abcde", "bitmap.fnt");
label->setPosition( ccp( s.width / 2, s.height / 2) );
addChild(label, 1);
::CCSprite *bChar = (CCSprite*)label->getChildByTag(1);
bChar->setColor(ccc3(255, 0, 0));
五、这个Atlas5测试有点无聊,没看出有什么特殊的。
六、Atlas6这个测试位置,更无聊。
七、AtlasBitmapColor里面有个新的函数,可以更改字符串。
virtual void setString (const char * label) ;
用法类似label->setString("green");
八、AtlasFastBitmap这个类新出现一个宏CCRANDOM_0_1,这个宏返回0-1直接的浮点数。
/** @def CCRANDOM_0_1
returns a random float between 0 and 1
*/
#define CCRANDOM_0_1() ((float)rand()/RAND_MAX)
九、BitmapFontMultiLine类说明了\n可以换行。
CCLabelBMFont *label3 = CCLabelBMFont::create("Multi line\nRight\nThree lines Three", "fonts/bitmapFontTest3.fnt");
十、这个测试说明了CCLabelBMFont、CCLabelTTF、CCLabelAtlas的分别从.fnt、直接设置字体、.png文件读入。
CCSize s = CCDirector::sharedDirector()->getWinSize();
// CCLabelBMFont
CCLabelBMFont *label1 = CCLabelBMFont::create("", "fonts/bitmapFontTest3.fnt");
addChild(label1, 0, kTagBitmapAtlas1);
label1->setPosition(ccp(s.width/2, s.height-100));
// CCLabelTTF
CCLabelTTF* label2 = CCLabelTTF::create("", "Arial", 24);
addChild(label2, 0, kTagBitmapAtlas2);
label2->setPosition(ccp(s.width/2, s.height/2));
// CCLabelAtlas
CCLabelAtlas *label3 = CCLabelAtlas::create("", "fonts/tuffy_bold_italic-charmap.png", 48, 64, ' ');
addChild(label3, 0, kTagBitmapAtlas3);
label3->setPosition(ccp(s.width/2, 0+100));
十一、LabelBMFontHD这个类仅是测试在 Retina Display上的问题。
十二、LabelAtlasHD这个类仅是测试在 Retina Display上的问题。
十三、LabelGlyphDesigner这个类先设计一个灰色的层,然后在上面显示文字。
CCLayerColor *layer = CCLayerColor::create(ccc4(128,128,128,255));
addChild(layer, -10);
十四、从这里开始,应该是Atlas测试,而不是Label测试,但是测试的代码放到这里了。
class Atlas1 : public AtlasDemo
{
CCTextureAtlas* m_textureAtlas;
public:
Atlas1();
~Atlas1();
virtual std::string title();
virtual std::string subtitle();
virtual void draw();
};
这里,新接触到CCTextureAtlas类和draw函数。休息,明天继续看这个。
参考资料:
一、Bitmap font generator用法: http://blog.csdn.net/aa4790139/article/details/8113197