標籤:color ar os 使用 sp 檔案 on art bs
建立標籤的三種方式:
1.CCLabelTTF (True Type Font,又叫本地字型)
這是最簡單,也是最常用的方式,不依賴於資源檔,也不依賴於某個系統,所指定的字型如果系統沒有,則會提供預設的字型,使用相當方便
建立方式:
CCLabelTTF *ttf=CCLabelTTF::create("GAME","Courier New",20);//第一個參數表示要顯示的標籤內容,第二個參數表示要使用的字型,第三個參數表示字型的大小
如果要使用的字型,系統沒有,則會自動替換為系統預設的字型
例如:
CCLabelTTF *ttf=CCLabelTTF::create("GAME","abc",20);//顯然沒有abc這種名字的字型,故系統會自動替換為預設的,而不會顯示亂碼
相關的操作:
設定字型大小:ttf->setFontSize(50);
更改字型類型:ttf->setFontName("abc");
更改標籤顯示的內容:ttf->setString("changer");
設定字型的填充顏色,在windows平台不支援:ttf->setFontFillColor(ccc3(255, 0, 0));
設定標記:ttf->setTag(TTF);
2.CCLabelAtlas
這種類型的標籤依賴於資源檔,需要提供Atlas類型的資源圖片,且要顯示的內容必須是資源檔中已有的內容,且需要設定每個字元的寬度,高度,和起始的ASCII編碼,相當麻煩,如果其中有某一個參數設定錯誤,則不能正常的顯示,但是它顯示的顏色很絢麗,這是要付出代價的,代價就是不夠靈活,依賴於資源檔
建立方式:
CCLabelAtlas *atlas=CCLabelAtlas::create("1234","fonts/labelatlas.png",24,32,‘0‘); //第一個參數是要顯示的內容,第二個參數是要參照的資源檔,要顯示的內容必須是在這個資源檔中的內容,第三,四個參數是字型的寬度和高度,第五個參數是資源檔中的內容中的ASCII碼
相關操作: atlas->setTag(ATLAS);//設定標記 其他動作和CCLabelTTF類似
3.CCLabelBMFont
這種類型的標籤同樣依賴於資源檔,需要提供BMFont類型的資源檔和xx.fnt檔案,類似於CCSpriteBatchNode,因為CCLabelBMFont就是繼承自CCBatchNode,很多東西和精靈集合類似
建立方式:
CCLabelBMFont *bm=CCLabelBMFont::create("start","fonts/bitmapFontTest.fnt"); //第一個參數是要顯示的內容,第二個參數是要載入的資源檔,類似於.plist檔案
相關操作: 擷取所有的子精靈:CCArray *array = bm->getChildren();
擷取某個子精靈:CCSprite *spr=array->objectAtIndex(0); //即字母‘S‘
CCLabelBMFont 中的每一個字元都是一個己載入到CCSpriteBatchNode 中的CCSprite。
不僅需要提供xx.fnt檔案,還要提供xx.png檔案,這兩個檔案缺一不可
cocos2dx中建立標籤CCLabel的三種方法及特點