cococos 2 dxのTestCPPフレームワーク(7)---AtlasTestScene(LabelTest)

2728 ワード

四、このAtlas 4テストには新しい関数が現れ、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));

五、このAtlas 5のテストは少し退屈で、何か特別なものがあるのを見なかった.
六、Atlas 6というテスト位置は、もっと退屈です.
七、AtlasBitmappColorには新しい関数があり、文字列を変更することができます.
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クラスは改行可能と説明しています.
CCLabelBMFont *label3 = CCLabelBMFont::create("Multi line
Right
Three 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);

十四、ここから、LabelテストではなくAtlasテストのはずですが、テストのコードはここに置いてあります.
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