Cocos2d-x中CCLabel字体类
来源:互联网 发布:图解网络硬件 kindle 编辑:程序博客网 时间:2024/04/30 22:24
cocos2d-x提供了三种文字字体的显示:CCLabelTTF、CCLabelAtlas、CCLabelBMFont
1.CCLabelTTF类继承自CCSprite类,因此它就是一个sprite,可以使用.ttf格式的字体。每次调用 setString(即改变文字)的时候,一个新的OpenGL纹理将会被创建。这意味着setString和创建一个新的标签一样慢。所以,当你需要频繁的更新显示的文字内容的时候,尽可能不去使用该对象,而是使用CCLabelAtlas或者是CCLabelBMFont。
2.CCLabelAtlas一般常用来显示数字信息,继承于CCNode类,故可以使用父类的一些函数,如:放缩、旋转等操作。资源一般来自一张.png图片,或.plist文件。图片中每个字符的大小必须是固定的,若要改变字体大小,只能通过放缩来实现。
3.CCLabelBMFont文字是最快速最自由的字体类。CCLabelBMFont的父类是CCSpriteBatchNode,特色就是以占用更多内存为代价加快标签的更新,这与其他任何CCSprite类相似。CCLabelBMFont相当于每次改变只改变了图片坐标,而CCLabelTTF要重新渲染。这个类使用之前,需要添加好字体文件,包括一个图片文件(*.png)和一个字体坐标文件(*.fnt),这两个文件名称必须一样。可以下载一个fnt编辑工具来自定义字体。
值得注意的是:它的每个字母或符号都是单独的一个CCSprite精灵,可以使用getChildByTag(i)来获取第i个位置上的字符,来对每个字符单独设置属性、动作等。这个类没办法指定字体的字号,但可以用Scale属性进行缩放来调整大小。
//创建CCLabelTTF的三种方法 CCLabelTTF* lb1 = CCLabelTTF::create("aaaaaaaa", "arial", 20); CCLabelTTF* lb2 = CCLabelTTF::create("bbbbbbbb", "宋体", 40); CCLabelTTF* lb3 = CCLabelTTF::create("cccccc", "黑体", 40); //其他操作 lb1->setColor( ccc3(255, 0, 0) ); //设置颜色ccc3 lb1->setRotation(60.0f); //旋转 lb2->setColor( cocos2d::ccBLUE ); //设置颜色ccBLUE lb3->setString("hello world!"); //设置文字内容
//要显示的字符,存放数字图片的png,数字宽,高,第一张图片代表的数字(后面每一张图片在此基础上加1)CCLabelAtlas *lb4 = CCLabelAtlas::create("65213","test.png",20,20,'0');
//create(要显示的字符串,字体资源名称.fnt) //创建两个CCLabelBMFont字体 //获取某个位置的字母,像精灵一样使用 CCLabelBMFont* lb5 = CCLabelBMFont::create("hello", "fonts/bitmapFontTest.fnt"); CCLabelBMFont* lb6 = CCLabelBMFont::create("world", "fonts/bitmapFontTest.fnt");
CCSprite* c1 = (CCSprite*)lb5->getChildByTag(0); //获取第0个字母h CCSprite* c2 = (CCSprite*)lb5->getChildByTag(3); //获取第3个字母l c1->setColor(ccc3(0,255,0)); //设置为绿色 c2->setScale(2.0f); //放大
- Cocos2d-x中CCLabel字体类
- cocos2d-x(7)——字体标签CCLabel(转载)
- Cocos2d-x初入学堂(8)-->CCLabel菜单项
- Cocos2D-X游戏开发入门学习--CCLabel--基础知识02
- Cocos2d-x ——CCLabel 文本标签简介
- Cocos2d-x ——CCLabel 文本标签简介
- Cocos2d-x学习笔记(十三)CCLabel详解
- Cocos2d-x初入学堂-->CCLabel菜单项
- cocos2d-x中关于字体的类主要有三种
- CCLabel字体与文本
- Cocos2d-x中如何指定字体
- Cocos2d-x 中的字体
- cocos2d-x 自定义字体
- Cocos2d-X中的字体
- [Quick-x lua]CCLabel类数字变化动作
- 总结Cocos2d-x 3.0 中新字体标签Label
- 总结Cocos2d-x中新字体标签Label
- 总结Cocos2d-x 3.0 中新字体标签Label
- 解决eclipse中Android SDK Manager更新慢和部分无法显示System Image镜像问题
- 【HTML5&CSS3进阶04】CSS3动画应该如何在webapp中运用
- LeetCode:Subsets
- rgb888与rgb565转换的影响
- 从QProcess说开来(一)
- Cocos2d-x中CCLabel字体类
- Web视觉设计师培训视频教程
- SQLHelper
- 店庆,巨献狂让利,优惠到让你尖叫!
- HTML5网页如何让所有的浏览器都能识别HTML5标签样式
- selenium_第一个脚本_登录新浪微博
- 编码规范
- 动态规划专题(II)
- {CODEVS} 1018 单词接龙(DFS)