cocos2d-x為我們提供了三個類來處理文字資訊:
1.cclabelttf
2.cclabelbmfont
3.cclabelatlas
1.cclabelttf:
cclabelttf* plabel = cclabelttf::create(
"****vs"
, "arial"
, 30);
//要顯示的內容,字型,字型大小
//這裡也可以使用下面方法改變要顯示的內容
plabel->setstring("****vs"
);
plabel->setposition(ccp(100, 100));
this
->addchild(plabel, 1);
2、cclabelbmfont
cclabelbmfont適合於需要頻繁更新的文字內容或者顯示好看華麗的文字內容。
cclabelbmfont是使用檔案顯示文字內容,相當於每次只是改變了的座標,cclabelbmfont中每個字元都是乙個精靈,可以單獨獲取執行動作。使用這個類的時候,一定要有乙個文字檔案(格式是png)和乙個文字座標檔案(格式是fnt),例如:
//要顯示的內容,字元座標檔案
cclabelbmfont* labelfont = cclabelbmfont::create("****vs"
, "bitmapfonttest.fnt"
);
labelfont->setposition(ccp(winsize.width/2, winsize.height/2));
addchild(labelfont);
//cclabelbmfont中每個字元都是乙個精靈,可以用getchildbytag方法獲取其中的乙個字元作為精靈操作
ccsprite* sprite = (ccsprite*)labelfont->getchildbytag(3);
sprite->runaction(ccjumpby::create(2.0f, ccp(0,0), 40, 5));
3、cclabelatlas
適合於顯示數字資訊,例如計分板,排行榜之類。
要使用這個類,必須要有乙個數字(格式:png),並且知道每個字元的寬度和高度,例如:
**也很簡單:
//cclabelatlas通過png檔案作為資源建立文字,引數:顯示內容,、單個數字寬度、
//高度、中第乙個字元的ascii碼,如字元為".",可以傳入46或者'.'都可以。
cclabelatlas* labelatlas = cclabelatlas::create("2013"
, "a.png"
, 12, 32, 46);
labelatlas->setposition(ccp(300, 100));
addchild(labelatlas);
labelatlas->setscale(2.0f);
這裡白白要提醒一下,一定要寫正確每個字元的寬高,否則出問題哦。
cclabelatlas類還可以使用plist檔案定義
cclabelatlas* labelatlas = cclabelatlas::create(
"2013 ****vs"
, "font.plist"
);
labelatlas->setposition(ccp(300, 100));
addchild(labelatlas);
labelatlas->setscale(2.0f);
cocos2d x之三種定時器的使用
定時器 可以讓某個函式不斷地去執行或者只執行一次,或者讓它每隔幾秒執行一次,cocos2d x為我們提供了三種定時器,分別是schedule,scheduleupdate,scheduleonce.其功能特點如下 1 scheduleupdate 加入當前節點後,程式會每幀都會自動執行一次預設的up...
Cocos2d x 文字渲染
文字渲染 cclabelatlas cclabelbmfont cclabelttf類都是繼承 cclabelprotocol類,即能夠使用系統字,也能夠自己定義渲染字型。cclabelatlas類使用作為文字的一種方式,通過直接定義 cclabelatlas label0 cclabelatlas...
Cocos2dx學習筆記(三)背景 文字
1 前一篇文章最後,執行程式後視窗內一片黑,沒有任何內容。是因為場景內沒有新增任何東西,現在就來逐一新增相應的內容。1 如下 include myhelloworldscene.h using ns cc boolmyhelloworldscene init while 0 returnbrct 2...