cocos2d-x基本知识点:文本渲染
来源:互联网 发布:java技能描述怎么写 编辑:程序博客网 时间:2024/05/16 01:50
CCLabelAtlas类:
CCLabelAtlas是使用图片作为文字的一种方式,该类可以通过图片直接定义,eg:
CCLabelAtlas* label1 = CCLabelAtlas::create("test","fonts/1.png",48,64,' ');
// 要显示的文本字符串,图片路径,字符宽度,字符高度,起始字符
CCLabelAtlas类还可以使用plist配置文件的描述来定义,eg:
CCLabelAtlas* label1 = CCLabelAtlas::create("test","fonts/1.plist");
//使用这种字体时,可定义颜色、透明度等参数,甚至文字标签也可运行动作,eg:
label2->setPosition(ccp(10,200));
label2->setColor(ccRED);
label2->setOpacity(200);
CCActionInterval* fade = CCFadeOut::create(1.0f);
CCActionInterval* fade_in = fade->reverse();
CCFiniteTimeAction* seq = CCSequence::create(fade,fade_in,NULL);
CCAction* repeat = CCRepeatForever::create((CCActionInterval*)seq);
label2->runAction(repeat);
// 当字体需要有一个"出场"或"离开"的方式时,运行动作可帮你实现
CCLabelTTF类:
CCLabelTTF类是通过系统字来实现字体标签的,定义如下:
CCLabelTTF* ttf0 = CCLabelTTF::create("Alignment 0\nnew line",CCSizeMake(256,32),kCCTextAlignmentLeft,"Helvetica",12);
// 标签文字内容,范围,对齐方式,字库名,字号
// 对齐方式:kCCTextAlignmentLeft,kCCTextAlignmentCenter,kCCTextAlignmentRight;可通过setAnchorPoint设置整个字符串的锚点
CCTextFieldTTF类是CCLabelTTF类的子类,它是输入框使用的文字标签,定义如下:
CCTextFiledTTF* pTextField = CCTextFieldTTF::textFiledWithPlaceHolder("<click here for input>",FONT_NAME,FONT_SIZE);
// 默认的字符串,字体名称,字号
注:CCLabelTTF速度偏慢,尽量使用另外两种字体
CCLabelBMFont类:
CCLabelBMFont类也是文字渲染标签类。CCLabelBMFont类中的每个字都是一个精灵类,意味着每个字都可以有自己的旋转
动作,并且支持FNT类型的文件,定义如下:
CCLabelBMFont* label1 = CCLabelBMFont::create("Test","fonts/2.fnt");
label1->setAnchorPoint(ccp(0,0));
addChild(label1,0,kTagBitmapAtlas1);
CCActionInterval* fade = CCFadeOut::create(1.0f);
CCActionInterval* fade_in = fade->reverse();
CCFiniteTimeAction* seq = CCSequence::create(fade,fade_in,NULL);
CCAction* repeat = CCRepeatForever::create((CCActionInterval*)seq);
label1->runAction(repeat);
// 要显示的文字,FNT文件
获得单个文字并为单个文字运行动作如下所示:
CCSprite* BChar = (CCSprite*)label->getChildByTag(0);
CCSprite* FChar = (CCSprite*)label->getChildByTag(7);
CCSprite* AChar = (CCSprite*)label->getChildByTag(12);
CCActionInterval* rotate = CCRotateBy::create(2,360);
CCAction* rot_4ever = CCRepeatForever::create(rotate);
CCActionInterval* scale = CCScaleBy::create(2,1.5f);
CCActionInterval* scale_back = scale->reverse();
CCFiniteTimerAction* scale_seq = CCSequence::create(scale,scale_back,NULL);
CCAction* scale_4ever = CCRepeatForever::create((CCActionInterval*)scale_seq);
CCActionInterval* jump = CCJumpBy::create(0.5f,CCPointZero,60,1);
CCAction* jump_4ever = CCRepeatForever::create(jump);
CCActionInterval* fade_out = CCFadeOut::create(1);
CCActionInterval* fade_in = CCFadeIn::create(1);
CCFiniteTimeAction* seq = CCSequence::create(fade_out,fade_in,NULL);
CCAction* fade_4ever = CCRepeatForever::create((CCActionInterval*)seq);
BChar->runAction(rot_4ever);
BChar->runAction(scale_4ever);
FChar->runAction(jump_4ever);
AChar->runAction(fade_4ever);
生成FNT配置文件的工具(windows平台):http://www.angelcode.com/products/bmfont/
- cocos2d-x基本知识点:文本渲染
- Cocos2d-x 文本渲染
- cocos2d-x基本知识点(1)
- cocos2d-x基本知识点(2)
- cocos2d-x基本知识点(3)
- cocos2d-x基本知识点(4)
- cocos2d-x基本知识点(5)
- cocos2d-x基本知识点:声音
- cocos2d-x基本知识点(7):动画
- cocos2d-x基本知识点(8):菜单项
- cocos2d-x基本知识点:游戏存档
- cocos2d-x基本知识点:网络连接libcurl
- cocos2d-x基本知识点:粒子系统
- cocos2d-x基本知识点:按键事件
- cocos2d-x渲染框架
- cocos2d-x渲染架构
- cocos2d-x 渲染
- 3.2 cocos2d-x渲染
- Html学习(四) 图片和横线的显示
- 第2层和第3层寻址
- 在listUI填充数据前对数据集进行处理
- eclilpse更新插件
- Python中的and和or
- cocos2d-x基本知识点:文本渲染
- 嵌入式 Linux内核Makefile浅析
- UVA - 11178-Morley’s Theorem
- VC操作MySQL数据库
- Oracle 12c RAC for AIX7.1(八)建库
- cocos2d-x2.2.4 wp8-xaml openxlive 支付接入问题总结
- SklipList跳表
- cc3200 学习系列----系统组成
- cpp-tests ActionsEaseTest