cocos2dx中创建标签CCLabel的三种方法及特点
创建标签的三种方式:
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的三种方法及特点的更多相关文章
- Linux中创建Daemon进程的三种方法
什么是daemon进程? Unix/Linux中的daemon进程类似于Windows中的后台服务进程,一直在后台运行运行,例如http服务进程nginx,ssh服务进程sshd等.注意,其英文拼写为 ...
- spring中创建bean对象的三种方式以及作用范围
时间:2020/02/02 一.在spring的xml配置文件中创建bean对象的三种方式: 1.使用默认构造函数创建.在spring的配置文件中使用bean标签,配以id和class属性之后,且没有 ...
- 【转载】取得系统中网卡MAC地址的三种方法
From:http://blog.csdn.net/zhangting1987/article/details/2732135 网卡地址这个概念有点混淆不清.因为实际上有两个地址,mac地址和物理地址 ...
- .net中创建xml文件的两种方法
.net中创建xml文件的两种方法 方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式) 方法2:直接加载xml结构,保存文件(固定方式) 方法1:动态创建xml文档 根据传递的值,构建 ...
- Java中获取键盘输入值的三种方法
Java中获取键盘输入值的三种方法 Java程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值 ...
- JAVA中创建线程池的五种方法及比较
之前写过JAVA中创建线程的三种方法及比较.这次来说说线程池. JAVA中创建线程池主要有两类方法,一类是通过Executors工厂类提供的方法,该类提供了4种不同的线程池可供使用.另一类是通过Thr ...
- (六)C#中判断空字符串的三种方法性能分析
三种方法分别是: string a=""; 1.if(a=="") 2.if(a==string.Empty) 3.if(a.Length==0) 三种方法是等 ...
- Java中实现线程同步的三种方法
实现同步的三种方法 多线程共享数据时,会发生线程不安全的情况,多线程共享数据必须同步. 实现同步的三种方法: 使用同步代码块 使用同步方法 使用互斥锁ReetrantLock(更灵活的代码控制) 代码 ...
- cocos2d-x 中添加显示文字的三种方式 LabelTTF 、LabelBMFont 和 LabelAtlas
在 cocos2d-x 中有三个类可以在层或精灵中添加文字: LabelTTF LabelBMFont LabelAtlas LabelTTF 直接支持使用 TTF 字库,可以支持全部的中文,但是效率 ...
随机推荐
- hdu3746
Cyclic Nacklace Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...
- 【转】PS学堂之一:展示一下自己做的圆形印章
共分七个步骤: 1.点击文件--新建,新建一个500×500像素,背景为透明的文件,选择RGB颜色. 2.把前景色和文字颜色设置为正红(R为255,G和B为0). 3.在视图下拉菜单中选择标尺,将横. ...
- SharePoint 2010 "客户端不支持使用windows资源管理器打开此列表" 解决方法
SharePoint 2010 在“库”--“库工具”,有一个“使用资源管理器打开”的按钮,点上去报“客户端不支持使用windows资源管理器打开此列表”.如图: 解决方案:在“开始”--“管理工具” ...
- Sublime Text—自带快捷键介绍
前言: Sublime Text是个小巧便捷的编辑器,除了众多好用的插件外,还有它自带的快捷键,打代码事半功倍,不会用的赶紧看看吧! 其实菜单上都有,看不懂可以汉化,Key Bindings-Defa ...
- [Fiddler]Unable to Generate Certificate
I'm using Fiddler2 (or trying) to capture SSL traffic for a windows desktop gadget hitting an https ...
- WScript.SendKeys()的sendkeys发送组合键以及特殊字符
SendKeys.Send("^+{TAB}"); 使用SendKeys将键击和组合键击发送到活动应用程序.此类无法实例化.若要发送一个键击给某个类并立即继续程序流,请使用Send ...
- asp.net判断访问者是否来自移动端
主要就是通过客户端传递的User-agent来判断访问网站的客户端是PC还是手机. .NET中就是Request.ServerVariables["HTTP_USER_AGENT" ...
- Cocos2d-x文本菜单
文本菜单是菜单项只是显示文本,文本菜单类包括了MenuItemLabel.MenuItemFont和MenuItemAtlasFont.MenuItemLabel是个抽象类,具体使用的时候是使用Men ...
- python基础:day3作业
修改haproxy配置文件 基本功能:1.获取记录2.添加记录3.删除记录 代码结构:三个函数一个主函数 知识点:1.python简单数据结构的使用:列表.字典等 2.python两个模块的使用:os ...
- 济南学习 Day1 T3 pm
[问题描述]小 Q 对计算几何有着浓厚的兴趣.他经常对着平面直角坐标系发呆,思考一些有趣的问题.今天,他想到了一个十分有意思的题目:首先,小 Q 会在x轴正半轴和y轴正半轴分别挑选