cocos2d-x 3.0以上版本字體設置問題

cocos2d-x中的萬年大坑,字體總算是有比較好的結局辦法了。以前都是CCLabelTTF,CCLabelBMFont,CCLabelAtlas什麼的,我只想說一句:好難用!畢竟是作遊戲,那麼難看的字體,那麼麻煩的用法,不!能!忍!html

如今,直接使用Label就!可!以!了!測試

首先咱們先來看看一個結構體:TTFConfig字體

API傳送門this

TTFConfig 結構體中包含了6個屬性spa

1 local ttfConfig = {} --聲明TTFConfig
2 ttfConfig.fontFilePath = "res/font/DFGBHBC.TTC" --字體路徑
3 ttfConfig.fontSize = 30 --字體大小
4 ttfConfig.GlyphCollection = "DYNAMIC" --使用字符集,默認爲動態
5 ttfConfig.customGlyphs = nil --用戶制定字符集
6 ttfConfig.distanceFieldEnabled = true --是否使用緊湊
7 ttfConfig.outlineSize = 1 --描邊大小

其中GlyphCollection有四種類型code

1 enum class GlyphCollection {  
2     DYNAMIC,  
3     NEHE,  
4     ASCII,  
5     CUSTOM  
6 };

建立Label,enableGlow爲設置外發光顏色,只有在distanceFieldEnabled = true的狀況下才生效。除了enableGlow,還有enableShadow能夠設置陰影。htm

local ttcLabel =  cc.Label:createWithTTF(ttfConfig,"測試文字", cc.TEXT_ALIGNMENT_CENTER,480);
ttcLabel:setAnchorPoint(cc.p(0.5, 0.5));  
this:addChild(ttcLable,5);
ttcLabel:setPosition(0,0);
ttcLabel:enableGlow(cc.c3b(255,0,0));

效果blog

使用label:disableEffect()方法能夠消除 shadow/outline/glow 的效果。遊戲

Label中還包含了createWithBMFont,createWithCharMap等建立文字的方法,能夠根據具體狀況靈活使用。get

API傳送門

相關文章
相關標籤/搜索