1. 使用實例如下:
/*
** 參數1:選擇圖片中的哪個文字,
** 參數2:圖片(使用texturePacker製作的文字集合),
** 參數3、4:單個文字的寬、高
** 參數5:起始的文字
** 注意:程序內部按照ASCII碼的順序進行偏移來截取字符的,沒有相應字符,也要預留位置 */
LabelAtlas* lbSprite = LabelAtlas::create("6", "4_text.png", 30, 48, '1');
lbSprite->setAnchorPoint(Vec2(0, 0));
lbSprite->setPosition(Vec2(origin.x + visibleSize.width / 2, origin.y + visibleSize.height / 2));
this->addChild(lbSprite);
---------------------------------------
2. 使用texturePacker拼接LabelAtlas小圖片(用在LabelAtlas中的原圖片)
【參考http://www.cnblogs.com/meteoric_cry/p/3594185.html
需要勾選的選項:
1. Layout欄:Algorithm項選用Basic (默認的是MaxRects)-> Sort By [Name];
2. Layout欄:設置默認的Border padding、Shape Padding爲0;
3. Layout欄:Trim mode項選擇None;
4. Geometry欄:Size constraints項選Any size;
5. 選擇輸出(Output)選項中的,Image format,爲RGBA4444,並選擇Dithering爲 抖動 + 通道(FloydSteinberg + Alpha);
*圖片的名稱進行控制(它是字符串比較,所以10.png 在 2.png之前,統一使用二位02.png、10.png就可以實現真正的排序)
-------------------------------------------------------------------------------
現在使用的版本是cocos2d-x 3.6,官方示例中已經推薦使用Label類進行創建了(Label中的charmap)
貼點代碼參考一下:
pTime = time;
/*Label_char_map測試*/
label = Label::createWithCharMap("fonts/count.png", 33, 50, '0');
label->setAnchorPoint(Vec2(0,0));
label->setPosition(Vec2(0, 0));
label->setOpacity(200);
this->addChild(label);
schedule(schedule_selector(GameTimer::update));
void GameTimer::update(float delta)
{
pTime -= delta;
char* mtime = new char[10];
//此處只是顯示分鐘數和秒數 自己可以定義輸出時間格式
sprintf(mtime, "%02d : %02d", (int)pTime / 60, (int)pTime % 60);
//sprintf(mtime, "%2.2f Test", pTime);
//sprintf(mtime, "%06d", (int)pTime);
label->setString(mtime);
}