(18)–Lable
最后更新于:2022-04-01 19:59:37
小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man
Cocos2d-x的提供了几种生成文字标签的方式,方便我们加入到菜单中等
1.CCLabelTTF
这种方法是通过系统文字生成,使用方法如下
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f3f11aceb1.gif)
还可以生成时指定标签宽度,指定锚点
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f3f11bd54d.gif)
第一个参数是标签的文字内容,第二个是范围的大小,第三个参数是对齐方式,第四个参数是字库名称,第五个参数是字号,用法举例如下:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f3f11ce674.gif)
2.CCLabelAtlas
可以通过自定义的图片来显示文字内容,比如数字字母等
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f3f11e072d.gif)
第一个参数是标签的文字内容,第二个是对应的图片路径,第三个第四个分别是图片中的每一个元素的宽度和高度,最后一个参数是起始的字符
使用方法如下
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f3f11f1d7d.gif)
可以通过使用setString来修改标签文字内容
label1->setString(string);
可以通过使用setColor来设置标签的颜色
label2->setColor( ccRED );
可以通过使用setOpacity设置标签的透明度
label2->setOpacity( 32 );
可以通过runAction挂动作
CCActionInterval* fade = CCFadeOut::actionWithDuration(1.0f);
CCActionInterval* fade_in = fade->reverse();
CCFiniteTimeAction* seq = CCSequence::actions(fade, fade_in, NULL);
CCAction* repeat = CCRepeatForever::actionWithAction( (CCActionInterval*)seq );
label2->runAction( repeat );
3.CCLabelBMFont
同样可以通过自定义的图片来显示文字内容,只是这个更加的灵活,可以自己定义fnt配置文件
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f3f120df20.gif)
第一个参数是要显示的内容,第二个参数是fnt文件的路径,使用方法如下
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f3f121e999.gif)
生成fnt配置文件的工具下载地址如下
http://www.n4te.com/hiero/hiero.jnlp (Java平台)
http://slick.cokeandcode.com/demos/hiero.jnlp (Java平台)
http://www.angelcode.com/products/bmfont/ (Windows平台)
也可以通过使用setString来修改标签文字内容
label2->setString( string );
可以通过使用setColor来设置标签的颜色
label2->setColor( ccRED );
可以通过runAction挂动作
CCActionInterval* fade = CCFadeOut::actionWithDuration(1.0f);
CCActionInterval* fade_in = fade->reverse();
CCFiniteTimeAction* seq = CCSequence::actions(fade, fade_in, NULL);
CCAction* repeat = CCRepeatForever::actionWithAction( (CCActionInterval*)seq );
label2->runAction( repeat );
可以获得单个字符,并为其挂动作(通过字符的索引获得)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-26_571f3f122e055.gif)
刚开始研究此引擎,如有错误之处,希望大家多多指正
下一篇写一下物理引擎
';