cocos2d-x基本类(二)
来源:互联网 发布:hadoop的数据挖掘 编辑:程序博客网 时间:2024/05/16 19:03
- CCLabelTTF
- CCLabelBMFont
- CCLabelAtlas
CCLabelTTF 每次调用 setString (即改变文字)的时候,一个新的OPENGL 纹理将会被创建.。这意味着setString 和创建一个新的标签一样慢。所以,当你需要频繁的更新它们的时候,尽可能的不用去使用标签对象。而应该使用CCLabelAtlas或者是CCLabelBMFont。
CCLableTTF
CCLabelTTF *label = [CCLabelTTF labelWithString:@"the string" fontName:@"Marker Felt" fontSize:21];[layer addChild:label];label.position = ......// [label setString:@“change string”];
这个类使用的是系统中的字体,不需要额外往项目文件中添加字体文件。但如果你有自定义的字体也可以加到项目中,如果无法使用,可以查看一下ccConfig.h中的CC_FONT_LABEL_SUPPORT是否enable了。
解释一下上面的参数,labelWithString 就是指生成的这个文字标签的文字“the string”,你想写什么就可以些什么, fontName就是字体名称, fontSize是字体大小。
如果需要添加之后需要修改文字,可以使用 setString 方法。
CCLabelBMFont
CCLabelBMFont *label =[CCLabelBMFont labelWithString:@"the string" fntFile:@"konqa32-hd.fnt"];[layer addChild:label];label.position = ......// [label setString:@“change string”];
这个类使用之前,需要添加好字体文件,包括一个图片文件 (**.png) 和一个 字体坐标文件 (**.fnt)。在 cocos2d的示例项目中有现成的,可以先拿过来练习一下,找的时候注意两个文件的名称是相同的,只是扩展名不同。
解释一下参数, labelWithString 同上面一样,也是指定文字。 fntFile是文件名,写扩展名是 .fnt的那个。下面是 .fnt文件的截图
可以看到 .fnt 文件定义了 图像文件的名称,以及每个字符对应的位置信息。
这个没办法指定字体的字号,但可以用 scale 属性进行缩放来调整大小。就当它是sprite。
CCLabelAtlas
CCLabelAtlas *label = [CCLabelAtlas labelWithString:@"the string" charMapFile:@"fps_images.png" itemWidth:12 itemHeight:18 startCharMap:'.'];[layer addChild:label];label.position = ......// [label setString:@“change string”];
如果你用cocos2d项目模板创建过项目,那么你已经看过它的效果了,就是左下角显示帧率的数字。因为帧率一直在变,使用CCLabelTTF的话效率太低,因为只是数字所以也犯不上使用 CCLabelBMFont 加载那么大的文字图像,所以使用这个比较合适。
在项目文件中,在resourse group里你可以找一下一个叫 fps_images.png的这个图像文件,文件如下:
所以,这个只能显示上面这个12个字符,abcd什么的就不行了。
解释一下参数,labelWithString就是字符, charMapFile 就是字符的图像文件(这个只要图像文件就可以了),itemWidth是每个字符的宽度,itemHeight是每个字符的高度,这个不能设错,否则显示的时候可能就不对了。 最后一个是起始字符,它是使用这个其实字符来对应字符和图像关系的。
- cocos2d-x基本类(二)
- Cocos2d-x笔记(二)Sqlite数据库基本操作
- cocos2d-x基本类(一)
- cocos2d-x基本类(三)
- cocos2d-x基本类(四)
- cocos2d-x基本类(五)
- Cocos2d-x学习笔记(二)——Cocos2d的基本框架认识
- Cocos2d-x layout (二)
- Cocos2d-x学习(二十一):cocos2d-x引擎结构
- Cocos2d-x学习(二十一):cocos2d-x引擎结构
- Cocos2d-x学习(二十五):ubuntu 配置cocos2d-x
- Cocos2d-x学习(二十一):cocos2d-x引擎结构
- Cocos2d-x学习笔记(二)Cocos2d-x整体框架
- cocos2d-x 3.1.1 学习笔记(二) 基本动作、动画详解
- 【Cocos2d-x】基本的几个类
- cocos2d-x基本元素
- Cocos2d-x基本动作
- Cocos2d-x CocosBuilder使用教程(二)连接自定义类
- Spket在Eclipse/MyEclipse下的安装和配置(图文教程)
- LINUX内核的编译与更新
- 怎么回答thank you
- ASIHTTPRequest下载示例(支持断点续传)
- C语言的谜题
- cocos2d-x基本类(二)
- 谁说C语言很简单?
- Java正则表达式详解
- 启动php-fpm时报cannot restore segment prot after reloc: Permission denied的解决办法
- 如何加密/混乱C源代码
- keil C51绝对地址访问
- jsp/servlet使用ajax动态加载dtree, dtree样式/图片修改 (java 生成dtree servlet json)
- linux shell从带路径的字符串中获取文件名
- extern与头文件(*.h)的区别和联系