1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
//创建普通的文本标签,效果和CCLabelTTF::create(...);一样。TTFConfig是什么?下面会介绍
static
Label * create(
const
std::string& text,
const
std::string& fontName,
float
fontSize,
const
Size& dimensions = Size::ZERO, TextHAlignment hAlignment = TextHAlignment::LEFT,
TextVAlignment vAlignment = TextVAlignment::TOP);
//通过读取TTFConfig配置的方式创建标签,
static
Label* createWithTTF(
const
TTFConfig& ttfConfig,
const
std::string& text, TextHAlignment alignment = TextHAlignment::LEFT,
int
lineWidth = 0);
//使用.fnt的方式创建标签,类似CCLabelBMFont:create();
static
Label* createWithBMFont(
const
std::string& bmfontFilePath,
const
std::string& text,
const
TextHAlignment& alignment = TextHAlignment::LEFT,
int
lineWidth = 0,
const
Point& imageOffset = Point::ZERO);
//使用.png的方式创建标签,类似CCLabelAtlas::create();
static
Label * createWithCharMap(
const
std::string& charMapFile,
int
itemWidth,
int
itemHeight,
int
startCharMap);
virtual
void
enableShadow(
const
Color3B& shadowColor = Color3B::BLACK,
const
Size &offset = Size(2,-2),
float
opacity = 0.75f,
int
blurRadius = 0);
virtual
void
enableOutline(
const
Color4B& outlineColor,
int
outlineSize = -1);
//只支持TTF
virtual
void
enableGlow(
const
Color3B& glowColor);
//只支持 TTF
virtual
void
disableEffect();
//取消所有特效
//特效的种类有一下四种:
enum
class
LabelEffect {
NORMAL,
//普通标签(纯粹的、脱离了低级趣味的label)
OUTLINE,
//文艺标签(有描边)
SHADOW,
//2B标签 (有阴影)
GLOW
//土豪标签(有荧光)
};
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
//TTFConfig 是一个结构体,里面包含了你要创建一个ttf的label常用配置,如下所示
typedef
struct
_ttfConfig
{
std::string fontFilePath;
//文件路径
int
fontSize;
//字体大小,默认12
GlyphCollection glyphs;
//使用的字符集,默认DYNAMIC
const
char
*customGlyphs;
//呵呵
bool
distanceFieldEnabled;
//我对这个的理解是:是否让文字显得紧凑?默认为false
int
outlineSize;
//字体描边的大小,默认为0
//构造函数
...
//注意:当outlineSize初始化的值大于0时,distanceFieldEnabled则为false
}TTFConfig;
//GlyphCollection有四种类型:
enum
class
GlyphCollection {
DYNAMIC,
NEHE,
ASCII,
CUSTOM
};
|
复制代码
|
复制代码
|
复制代码
|
复制代码
|
复制代码
|
复制代码
|
复制代码
|
复制代码
|
复制代码
|
复制代码
|
复制代码
|