cocos2d-x 文本标签的用法
来源:互联网 发布:软件企业认定条件 编辑:程序博客网 时间:2024/05/16 19:39
Cocos2d-x中标签类,标签类主要有三种:LabelTTF、LabelAtlas、LabelBMFont,此外,3.x推出新的标签类。
1、LabelTTF是使用系统中的字体,它是最简单的标签类,它是继承Node类,具有Node类的基本属性。
LabelTTF的其中一个create函数如下:
static LabelTTF * create(
const std::string& string,
const std::string& fontName,
float fontSize,
const Size& dimensions = Size::ZERO,
TextHAlignment hAlignment = TextHAlignment::CENTER,
TextVAlignment vAlignment = TextVAlignment::TOP);
这里我大家解释下各个参数的作用:第一个参数是我们要显示的文本,他是一个字符串类型;第二个参数是我们字体文件的路径也是字符串类型;第三个参数是我们要显示字体的大小,是Size类型;第四个参数是指在屏幕上占用的区域大小,可省略;第五个参数是指文字横向对齐方式,也可省略;第六个参数是纵向对齐方式,可省略。
2、LabelAtlas是图片集标签,其中Atlas本意是“图片集”,这种标签显示的文字是从一个图片集中取出来的,因此需要额外加载图片集文件。
LabelAtlas比LabelTTF快很多。LabelAtlas中的每个字符必须有固定的高度和宽度。
static LabelAtlas* create(
const std::string& string,
const std::string& charMapFile,
int itemWidth,
int itemHeight,
int startCharMap);
同样的各个参数作用:第一个参数也是要显示的文本,第二个参数是文件名(包括文件路径,文件是图片集文件,格式.png);第三、四个参数是该字体在图片集里的高度和宽度,第五个参数是图片集的开始字符。
3、LabelBMFont是位图字体标签,需要添加字体文件:暴扣一个图片集(.png)和一个字符坐标文件(.fnt)。LabelBMFont比LabelTTF快很多,LabelBMFont中的每个字符的宽度是可变的。
LabelBMFont是继承Node类,具有Node类的基本特性。
static LabelBMFont * create(
const std::string& str,
const std::string& fntFile,
float width = 0,
TextHAlignment alignment = TextHAlignment::LEFT,
const Vec2& imageOffset = Vec2::ZERO);
第一个参数是要显示的文本,第二个参数是fnt文件(包括路径),第三个参数是宽度,第四个是参数是横向对齐方式,第五个参数是字体色调。
除以上这三个比较常见的文本字体类外,我们cocos2d-x 的Label里还有一些常用的函数,通过这些方法我们也可以创建我们想要的字体,下面我们来介绍一下他们:
1、Label创建系统标签对象,它的创建方法如下:
static Label* createWithSystemFont(
const std::string& text,
const std::string& font,
float fontSize,
const Size& dimensions = Size::ZERO,
TextHAlignment hAlignment = TextHAlignment::LEFT,
TextVAlignment vAlignment = TextVAlignment::TOP);
这里我们就介绍下第三个参数,其他的参数上面有相同的,我就不介绍了,第三个参数是指改字体在屏幕中占用的大小。
2、Label创建TTF字体标签对象:
static Label * createWithTTF(
const std::string& text,
const std::string& fontFilePath,
float fontSize,
const Size& dimensions = Size::ZERO, TextHAlignment hAlignment = TextHAlignment::LEFT,
extVAlignment vAlignment = TextVAlignment::TOP);
参数介绍看上面的。
3、static Label* createWithTTF(
const TTFConfig& ttfConfig,
const std::string& text,
extHAlignment hAlignment = TextHAlignment::LEFT,
int maxLineWidth = 0);
其中:第一个参数是创建一个TTFConfig结构体变量
我们看看这个结构体的整体
_ttfConfig(
const std::string& filePath = "",
float size = 12,
const GlyphCollection& glyphCollection = GlyphCollection::DYNAMIC,
const char *customGlyphCollection = nullptr, bool useDistanceField = false,
int outline = 0)
第一个参数是字体文件路径
第二个参数是字体大小
第三个参数是字体库类型
第四个参数是自定义字体库
第五个参数是开启距离字段字体开关
第六个参数是字体描边。
4、Label创建BM标签对象
static Label* createWithBMFont(
const std::string& bmfontPath,
const std::string& text,
const TextHAlignment& hAlignment = TextHAlignment::LEFT,
int maxLineWidth = 0,
const Vec2& imageOffset = Vec2::ZERO);
参数介绍看上面。
好了,常用的创建文本的方法介绍的差不多了,在这里要跟大家说下,其实在Label里的上面这些创建文本方法都可以用Label的create方法代替,create重载了以上的四种方法,突然感觉create很强大。。。。
- cocos2d-x 文本标签的用法
- cocos2d-x生成带边框的标签CCLabelTTF文本
- [cocos2d-x] --- CCLabelProtocol文本标签详解
- Cocos2d-x ——CCLabel 文本标签简介
- Cocos2d-x ——CCLabel 文本标签简介
- Cocos2d-x v3.0正式版尝鲜体验Label文本标签
- 【cocos2d-x】 CCScale9Sprite的用法
- cocos2d-x VA_LIST的用法
- cocos2d-x的CCArray用法
- cocos2d-x的CCArray用法
- Cocos2d-x文本菜单
- Cocos2d-x 文本渲染
- [寒江孤叶丶的Cocos2d-x之旅_33]RichTextEx一款通过HTML标签控制文字样式的富文本控件
- Cocos2D-X的类型标签CCLabelTTF
- Cocos2d-x-3.0中改进的标签
- Cocos2d-x v3.x官方文档]文本标签(Label) 分享0
- Cocos2d-x 文字标签
- cocos2d-x 标签Lable
- 了解ASP.NET MVC几种ActionResult的本质:EmptyResult & ContentResult
- 转载的关于tex历史与现状
- 项目的复习(一)
- 剑指offer-面试题24.二叉搜索树的后序遍历序列
- 各种常见排序函数的C++代码
- cocos2d-x 文本标签的用法
- 点击Back按钮删除Fragment
- tsinsen-A1206 小Z的袜子(莫队算法)
- 了解ASP.NET MVC几种ActionResult的本质:JavaScriptResult & JsonResult
- 剑指offer-面试题25.二叉树中和为某一值的路径
- 栈
- 记一次失败的kaggle比赛(2):构造新特征、特征筛选
- C#中的序列化
- DBeaver数据库管理工具使用体验