来源网址:http://cn.cocos2d-x.org/tutorial/show?id=1624
在3.x中,废弃了2.x里的LabelTTF、LabelAtlas、LabelBMFont三个字体类,取而代之的是全新的字体标签Label。
实际上Label是将三个字体类进行了融合,进行统一的管理与渲染,这使得创建字体标签Label的方式更加统一,更加方便。
本节来学习一下3.x中新的标签类Label,如果对2.x中的三个字体类不了解的话,建议先去看看那三个类的用法,再来学习本节内容,能够更好的理解。
(2.x中的旧标签类,请查看这里)
【本节内容】
在3.x中,Label支持四种方式的标签创建。并新增了阴影Shadow、轮廓Outline、发光Glow效果的支持。还支持文字内容的行间距、文字间距、自动换行的设置。
-
创建系统原生字体API:createWithSystemFont
-
创建TTF:createWithTTF(原LabelTTF)
-
创建CharMap:createWithCharMap(原LabelAtlas)
-
创建BMFont:createWithBMFont(原LabelBMFont)
-
Label的属性与方法
-
文字效果渲染:Shadow、Outline、Glow
-
对齐方式:TextHAlignment、TextVAlignment
-
Label的尺寸大小
-
自动换行
-
行间距、文字间距
-
单独设置某个字符
PS:关于图片资源,请在Cocos2dx给出的官方样例cpp-tests中寻找。
【createWithSystemFont】
创建系统原生字体的API。
创建方式如下:
//
static Label* createWithSystemFont(
const std::string& text, //字符串内容
const std::string& font, //字体(字体名称、或字体文件)
float fontSize, //字号
const Size& dimensions = Size::ZERO, //label的尺寸大小,默认不设置尺寸
TextHAlignment hAlignment = TextHAlignment::LEFT, //水平对齐方式,默认左对齐::LEFT
TextVAlignment vAlignment = TextVAlignment::TOP //垂直对齐方式,默认顶部 ::TOP
);
//
使用举例:
//
//使用系统的字体名称 "Arial" 来创建
Label* lb1 = Label::createWithSystemFont("123abc", "Arial", 24);
//
【createWithTTF】
创建TTF的方式有以下两种:
-
方式一:与2.x中LabelTTF的创建类似,不过使用的fontFile必须为字体文件。
-
方式二:通过TTF的配置信息数据结构TTFConfig来创建。
1、方式一:与SystemFont创建类似
注:区别在于fontFile必须为字体文件(如"*.ttf"),即不支持使用系统字体名称来创建。
2、方式二:通过TTFConfig配置来创建
2.1、TTFConfig配置
//
typedef struct _ttfConfig
{
std::string fontFilePath; //字体文件路径,如 "fonts/Arial.ttf"
int fontSize; //字体大小,默认"12"