Label(标签)

Label(标签)

Cocos2d-x中提供了Label(标签)对象来创建TTF、BMFont和SystemFont文本。

Label BMFont(BMFont标签)

BMFont是使用位图字体的标签类型。位图字体是由点或像素矩阵所组成,这些点和像素代表了字符图形的外形和大小。位图字体的使用很方便也很容易,但它不可伸缩,其每个尺寸都需要一个单独的字体。

Label类是SpriteBatchNode的子类,所以Label的每个字符都可以看作一个Sprite(精灵),都具有旋转、缩放、着色,改变锚点以及其他继承自Node对象的属性。

创建一个BMFont文本需要两个文件:一个.fnt文件和一个显示每一个对象的.png格式的图片。利用像Glyph Designer这样的工具可以自动创建该类型的文件。

创建一个BMFont文本:

1 auto myLabel = Label::createWithBMFont("myFont.fnt", "My Label Text");

字符串内所有的字符都要包含在MyFont.fnt文件中,否则它们将不会被渲染。假设渲染一个缺少字符的Label,那么就要确保它们都在你的MyFont.fnt文件中。

Label TTF(TTF标签)

TTF是一个 True Type Font 的标签类型。创建TTF标签你需要指定一个.ttf格式的字体文件名、文本字符串以及字体大小。与BMFont不同,TTF可以改变字体的显示大小,无需单独的字体。

创建一个TTF标签:

1 auto myLabel = Label::createWithTTF("myFont.ttf", "My Label Text", 16);

尽管TTF标签比BMFont更灵活,但它的效率是更低的,并且修改如字形和大小等属性都是一个复杂的操作。如下为使用TTF创建Label的示例:

如果你需要一些具有相同属性的TTF标签,你可以通过创建一个TTFConfig对象来管理它们。TTFConfig允许你为所有的TTF标签设置共同的属性。如下:

 1 // create a TTFConfig files for labels to share
 2 TTFConfig labelConfig;
 3 labelConfig.fontFilePath = "myFont.ttf";
 4 labelConfig.fontSize = 16;
 5 labelConfig.glyphs = GlyphCollection::DYNAMIC;
 6 labelConfig.outlineSize = 0;
 7 labelConfig.customGlyphs = nullptr.
 8 labelConfig.distanceFieldEnabled = false;
 9
10 // create a TTF Label from the TTFConfig file;
11 auto myLabel = Label::createWithTTF(labelConfig, "My Label Text");

TTFConfig还可以用于显示中文、日文和韩文字符。

Label SystemFont(系统字体标签)

SystemFont是一个使用系统默认的字体和尺寸的标签类型。意思就是说我们不能修改字体的属性,你可以理解为是一种系统字体,系统规则。创建一个SystemFont标签:

1 auto myLabel = Label::createWithSystemFont("My Label Text", "Arial", 16);

标签效果和排版

标签效果

Label对象有一些实话它们的特效效果。当然,不是所有的标签类型都支持所有的特效。这些特效包括阴影、轮廓和光晕效果。

1 // shadow effect is supported by all Label types
2 myLabel->enableShadow();
3
4 // outline effect is TTF only, specify the outline color desired
5 label->enableOutline(Color4B(100, 50, 100, 100));
6
7 // glow effect is TTF only, specify the glow color desired.
8 label->enableGlow(Color4B(100, 50, 100, 100));
时间: 2024-10-17 01:10:11

Label(标签)的相关文章

微信小程序组件解读和分析:十一、label标签

label标签组件说明: label标签,与html的label标签基本一样.label 元素不会向用户呈现任何特殊效果.不过,它为鼠标用户改进了可用性.如果您在 label 元素内点击文本,就会触发此控件.就是说,当用户选择该标签时,就会自动将焦点转到和标签绑定的表单控件上,主要用来改进表单组件的可用性.使用for属性找到对应的id,或者将控件放在该标签下,当点击时,就会触发对应的控件.for优先级高于内部控件,内部有多个控件的时候默认触发第一个控件.目前可以绑定的控件有:<button/>

HTML:form表单中的label标签

label标签不会向用户呈现任何特殊效果,它的作用是为鼠标用户改进了可用性.如果你在 label 标签内点击文本,就会触发此控件.就是说,当用户单击选中该label标签时,浏览器就会自动将焦点转到和标签相关的表单控件上(就自动选中和该label标签相关连的表单控件上). 语法: <label for="控件id名称"> 注意:标签的 for 属性中的值应当与相关控件的 id 属性值一定要相同. 例子如下: <form> 你对什么运动感兴趣:<br />

第7天:input和label标签

今天学的不多,就只学了表单元素中的input和label标签.搬了房子,收拾了一下东西,太累了,所以没有学很多.明天还上班,今天就先到这. 一.input input标签type属性有以下几个:text.password.textarea.radio.checkbox.button.submit.reset按钮1.<input type="button" value="确定">2.<input type="submit" >

关于label标签的研究

一:功能介绍 定义:label 元素不会向用户呈现任何特殊效果.它为鼠标用户改进了可用性.总的来说<label>专为input元素服务,为其定义标记. 用法:<label> 标签的 for 属性与相关元素的 id 属性相同,用来指定是向与哪个元素绑定. 二:应用示例 例子如下: 用户名:<input type="text" name="userName" id="userName"  />,像这个代码运行后,你

[HTML5]label标签使用以及建议

for 属性规定 label 与哪个表单元素绑定. 隐式和显式的联系 标记通常以下面两种方式中的一种来和表单控件相联系:将表单控件作为标记标签的内容,这样的就是隐式形式,或者为 <label> 标签下的 for 属性命名一个目标表单 id,这样就是显式形式. 显式的联系: <label for="SSN">Social Security Number:</label> <input type="text" name=&quo

label 标签

在表单布局中会遇到label标签的使用,label没有任何样式效果,有触发对应表单控件功能.比如我们点击单选按钮或多选框前文字对应选项就能被选中,这个就是对文字加了<label>标签实现. 一.点击文字,对应选择上控件   -   TOP 点击<label>标签文字时,实现对应控件被选择,需要对应表单控件id的值与label标签内的for值相同. 二.label语法   -   TOP <label for="man">男</label>

容易被忽略的label标签

# 容易被忽略的label标签 ## 原始作用 `label`标签是HTML原生的标签,其原始的作用参考[这里](http://www.w3school.com.cn/tags/tag_label.asp) label 标签为 input 元素定义标注(标记). label 元素不会向用户呈现任何特殊效果.不过,它为鼠标用户改进了可用性.如果您在 label 元素内点击文本,就会触发此控件.就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上. label 标签的 for

label标签

label标签功能:用于给各个元素定义快捷键 通过accesskey实现 *accesskey:用于定义快捷键 *for:用于指明作用的元素,即指定元素的id 代码举例: <html> <form> <table> <td><label accesskey="u" for="userid">user:</label></td> <td><input type=&qu

html form &lt;label&gt;标签基础语法结构与使用案例教程

在表单布局中会遇到label标签的使用,label没有任何样式效果,有触发对应表单控件功能.比如我们点击单选按钮或多选框前文字对应选项就能被选中,这个就是对文字加了<label>标签实现. 点击<label>标签文字时,实现对应控件被选择,需要对应表单控件id的值与label标签内的for值相同. 请看下面代码 <form action="" method="get"> 性别:<br /> <input name

label标签的用法

label 标签for属性 <h1>显式指定通过for(for的值就是对应radio的id的值)</h1> <form> <label for="male">Male</label> <input type="radio" name="sex" id="male" /> <br /> <label for="female&quo