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