《Cocos2d-x游戏开发实战精解》学习笔记2--在Cocos2d-x中显示一行文字

《Cocos2d-x游戏开发实战精解》学习笔记2--在Cocos2d-x中显示一行文字,第1张

概述在Cocos2d-x中要显示文字就需要用到Label控件。在3.x版本的Cocos2d中,舍弃了之前版本所使用的LabelTTF、LabelAtlas、LabelBMFont 3个用于显示文字的类,而使用一个新类Label取代。可想而知,Label实际上就是对之前3个类进行重新封装并统一渲染。 提示:实际上老版本的内容在3.x版本中依然是可以使用的。 下面是在Cocos2d-x中显示文字的一个例子

在Cocos2d-x中要显示文字就需要用到Label控件。在3.x版本的Cocos2d中,舍弃了之前版本所使用的LabelTTF、LabelAtlas、LabelBMFont 3个用于显示文字的类,而使用一个新类Label取代。可想而知,Label实际上就是对之前3个类进行重新封装并统一渲染。

提示:实际上老版本的内容在3.x版本中依然是可以使用的。

下面是在Cocos2d-x中显示文字的一个例子,具体完整项目可在源文件本章目录下找到项目ChapterThree01查看。

【范例3-1 在Cocos2d-x中显示文字】

auto label1 = Label::create("this is the first label","Arial",36,Size::ZERO,TextHAlignment::left,TextVAlignment::top);         //创建标签label1->setposition(210,310);                                                //设置标签位置addChild(label1);                                                             //加入到场景中//通过TTFConfig在标签中使用自定义字体TTFConfig ttfconfig("Fonts/chunkmuffinhollowwIDe.ttf",36);                    //创建TTFConfig对象auto label2 = Label::createWithTTF(ttfconfig,"this is the second label");      //创建标签label2->setposition(270,250);                                                  //设置标签位置addChild(label2);                                 //将标签加入到场景中//使用createWithTTF方法创建使用自定义字体的标签auto label3 = Label::createWithTTF("this is the third label","Fonts/Marker Felt.ttf",36);label3->setposition(200,190); addChild(label3);                                          //将标签加入到场景中//为标签加入阴影和边框效果auto label4 = Label::createWithTTF("this is the fourth label",36);label4->setposition(280,130);                                  //设置标签位置label4->enableShadow(color4B::GREEN,Size(5,5));              //设置阴影效果label4->enableOutline(color4B::RED,3);                        //设置边框效果addChild(label4);                                           //将标签加入到场景中//创建带发光效果的标签auto label5 = Label::createWithTTF("this is the fifth label",36);label5->setposition(200,70);                              //设置标签位置label5->enableGlow(color4B::GREEN);                          //设置光效addChild(label5);                                        //将标签加入到场景中

运行之后的效果如图3-1所示。

图3-1 在屏幕上显示不同效果的标签

在一般情况下想要在屏幕上输出一行文字只需要按照第01~04行的方法来创建一个标签,然后再将它加入到场景中去就可以了。最简单的创建标签的方法如范例第01~02行所示,其中create方法的6个参数含义分别是:

标签中所显示文字的内容

标签字体

标签内容字体大小

标签尺寸

标签中文字在横向和纵向的对齐方式

这看上去有点复杂,实在配不上“最简单”的创建方法,所以一般在使用时可以进一步简化,仅保留前3项参数,比如本范例第01行就可以改写成:

auto label1 = Label::create("this is the first label",36);

显示的文字如图3-1第一行所示,所以说在Cocos2d中显示文字是非常容易的。然而不能忘记的是,学习Cocos2d的目的主要还是为了做游戏,这样单调的文字自然是远远不能适应游戏的需要,所以就需要在标签中使用更加个性化的字体。

在Cocos2d 2.x版本中,可以使用LabelTTF类创建标签来使用TTF格式的字体,然而在Cocos2d 3.x中由于LabelTTF被取消(实际仍然可以使用),就要考虑使用其他办法来显示自定义字体。目前主要有两种方法:

一种是通过TTFConfig配置来创建,如范例第06~09行所示;

另一种是使用createWithTTF方法创建使用TTF字体的标签,如范例第11~13行所示。

这两种方法从本质上来说都是从资源目录下读取TTF格式的字体文件,可以在项目目录下找到Resources|Fonts文件夹,将从网上下载的字体文件存放在这里。

为了让字体具有更强大的视觉冲击力,还可以给文字加入阴影和边框以及外发光的效果。如范例第17行就是给标签加入阴影,其中color4B::GREEN是阴影的颜色而Size(5,5)是阴影相对于文字的相对位置。第18行则是用来设置文字边框的,两个参数分别用来设置边框颜色和宽度。第23行为文字加入的外发光效果只有一个参数,那就是光效的颜色。

《Cocos2d-x游戏开发实战精解》学习笔记1--在Cocos2d中显示图像
《Cocos2d-x游戏开发实战精解》学习笔记2--在Cocos2d-x中显示一行文字
《Cocos2d-x游戏开发实战精解》学习笔记3--在Cocos2d-x中播放声音

总结

以上是内存溢出为你收集整理的《Cocos2d-x游戏开发实战精解》学习笔记2--在Cocos2d-x中显示一行文字全部内容,希望文章能够帮你解决《Cocos2d-x游戏开发实战精解》学习笔记2--在Cocos2d-x中显示一行文字所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1077868.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存