创建标签的三种方式:
1.CCLabelTTF     (True Type Font,又叫本地字体)
这是最简单,也是最常用的方式,不依赖于资源文件,也不依赖于某个系统,所指定的字体如果系统没有,则会提供默认的字体,使用相当方便
创建方式:
CCLabelTTF *ttf=CCLabelTTF::create("GAME","Courier New",20);//第一个参数表示要显示的标签内容,第二个参数表示要使用的字体,第三个参数表示字体的大小
如果要使用的字体,系统没有,则会自动替换为系统默认的字体
例如:
CCLabelTTF *ttf=CCLabelTTF::create("GAME","abc",20);//显然没有abc这种名字的字体,故系统会自动替换为默认的,而不会显示乱码
相关的操作:
设置字体大小:ttf->setFontSize(50);
更改字体类型:ttf->setFontName("abc");
更改标签显示的内容:ttf->setString("changer");
设置字体的填充颜色,在windows平台不支持:ttf->setFontFillColor(ccc3(255, 0, 0));
设置标记:ttf->setTag(TTF);

2.CCLabelAtlas

这种类型的标签依赖于资源文件,需要提供Atlas类型的资源图片,且要显示的内容必须是资源文件中已有的内容,且需要设置每个字符的宽度,高度,和起始的ASCII编码,相当麻烦,如果其中有某一个参数设置错误,则不能正常的显示,但是它显示的颜色很绚丽,这是要付出代价的,代价就是不够灵活,依赖于资源文件

创建方式:

CCLabelAtlas *atlas=CCLabelAtlas::create("1234","fonts/labelatlas.png",24,32,'0'); //第一个参数是要显示的内容,第二个参数是要参照的资源文件,要显示的内容必须是在这个资源文件中的内容,第三,四个参数是字体的宽度和高度,第五个参数是资源文件中的内容中的ASCII码

相关操作: atlas->setTag(ATLAS);//设置标记 其他操作和CCLabelTTF类似

3.CCLabelBMFont

这种类型的标签同样依赖于资源文件,需要提供BMFont类型的资源文件和xx.fnt文件,类似于CCSpriteBatchNode,因为CCLabelBMFont就是继承自CCBatchNode,很多东西和精灵集合类似

创建方式:

CCLabelBMFont *bm=CCLabelBMFont::create("start","fonts/bitmapFontTest.fnt"); //第一个参数是要显示的内容,第二个参数是要加载的资源文件,类似于.plist文件

相关操作: 获取所有的子精灵:CCArray *array = bm->getChildren();

获取某个子精灵:CCSprite *spr=array->objectAtIndex(0);  //即字母'S'

CCLabelBMFont 中的每一个字符都是一个己加载到CCSpriteBatchNode 中的CCSprite。

不仅需要提供xx.fnt文件,还要提供xx.png文件,这两个文件缺一不可

cocos2dx中创建标签CCLabel的三种方法及特点的更多相关文章

  1. Linux中创建Daemon进程的三种方法

    什么是daemon进程? Unix/Linux中的daemon进程类似于Windows中的后台服务进程,一直在后台运行运行,例如http服务进程nginx,ssh服务进程sshd等.注意,其英文拼写为 ...

  2. spring中创建bean对象的三种方式以及作用范围

    时间:2020/02/02 一.在spring的xml配置文件中创建bean对象的三种方式: 1.使用默认构造函数创建.在spring的配置文件中使用bean标签,配以id和class属性之后,且没有 ...

  3. 【转载】取得系统中网卡MAC地址的三种方法

    From:http://blog.csdn.net/zhangting1987/article/details/2732135 网卡地址这个概念有点混淆不清.因为实际上有两个地址,mac地址和物理地址 ...

  4. .net中创建xml文件的两种方法

    .net中创建xml文件的两种方法 方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式) 方法2:直接加载xml结构,保存文件(固定方式) 方法1:动态创建xml文档 根据传递的值,构建 ...

  5. Java中获取键盘输入值的三种方法

    Java中获取键盘输入值的三种方法     Java程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值 ...

  6. JAVA中创建线程池的五种方法及比较

    之前写过JAVA中创建线程的三种方法及比较.这次来说说线程池. JAVA中创建线程池主要有两类方法,一类是通过Executors工厂类提供的方法,该类提供了4种不同的线程池可供使用.另一类是通过Thr ...

  7. (六)C#中判断空字符串的三种方法性能分析

    三种方法分别是: string a=""; 1.if(a=="") 2.if(a==string.Empty) 3.if(a.Length==0) 三种方法是等 ...

  8. Java中实现线程同步的三种方法

    实现同步的三种方法 多线程共享数据时,会发生线程不安全的情况,多线程共享数据必须同步. 实现同步的三种方法: 使用同步代码块 使用同步方法 使用互斥锁ReetrantLock(更灵活的代码控制) 代码 ...

  9. cocos2d-x 中添加显示文字的三种方式 LabelTTF 、LabelBMFont 和 LabelAtlas

    在 cocos2d-x 中有三个类可以在层或精灵中添加文字: LabelTTF LabelBMFont LabelAtlas LabelTTF 直接支持使用 TTF 字库,可以支持全部的中文,但是效率 ...

随机推荐

  1. popToViewController的用法(跳转到你想跳转到的那个控制器)

    [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIn ...

  2. TortoiseSVN 更新时忽略指定文件夹

    命令行可以这么来svn update –set-depth=exclude 文件夹 那么TortoiseSVN客户端呢?在文件夹右键中的”更新至版本(U)”更新深度选”排除”,确定,搞定下次更新就不会 ...

  3. 洛谷P1717 钓鱼

    P1717 钓鱼 41通过 116提交 题目提供者该用户不存在 标签贪心 难度提高+/省选- 提交该题 讨论 题解 记录 最新讨论 暂时没有讨论 题目描述 话说发源于小朋友精心设计的游戏被电脑组的童鞋 ...

  4. 1166 矩阵取数游戏[区间dp+高精度]

    1166 矩阵取数游戏 2007年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description [ ...

  5. Jquery事件委托之Safari

    什么是事件委托 事件委托是Jquery中一种事件绑定的方式,不同于常见的事件绑定方式将事件绑定在目标元素上,而是将事件绑定在父级元素上通过事件冒泡来执行绑定函数. //常见的事件绑定(Jquery) ...

  6. CSS中的文本属性

    本文总结一下CSS中关于文字的相关属性,最后给出实例. CSS基础文字属性 文字的基础属性主要包括:字体.颜色和文本.除去颜色color的属性外,字体和文本的相关属性可以权威参考: CSS 文本属性( ...

  7. sql server 中 syscolumns 各个字段的意义

    列名 数据类型 描述 name sysname 列名或过程参数的名称. id int 该列所属的表对象 ID,或与该参数关联的存储过程 ID. xtype tinyint systypes 中的物理存 ...

  8. Part 3 ViewData and ViewBag in mvc

    ViewBag and ViewData is a mechanism(机制) to pass data from controller to view. We use '@' symbol(符号) ...

  9. jQuery自定义Web页面鼠标右键菜单

    jQuery自定义Web页面鼠标右键菜单 右键菜单是固定的,很多时候,我们需要自定义web页面自定义菜单,指定相应的功能. 自定义的原理是:jQuery封装了鼠标右键的点击事件(“contextmen ...

  10. 20150410---GridView分页(备忘)

    GridView自带分页功能,但是模板单一,试用较少数据. AllowPaging="true" PageSize="10" 启用分页设置.默认每页数量为10 ...