cocos2dx 字体外发光_《Cocos2d-x游戏开发实战精解》学习笔记2--在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", "fonts/Marker Felt.ttf", 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", "fonts/Marker Felt.ttf", 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","Arial",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学习5:在屏幕上显示文字内容 Cocos2d-x显示文字使用的是Label控件。在3.x版本的Cocos2d中,用一个新的类Label对之前版本所使用的LabelTTF、LabelAtlas、LabelBMFont 3个用于显示文字的类进行了封装。 阅读详情

相关推荐

cocos2d cocos2d-x 使用自定义字体

我们写项目,难免游戏或应用里用一些艺术字,今天我们来扯一扯cocos2d-iphone(cocos2d-x一样)的自定义字体CCLabelBMFont: 首先下个字体编辑工具来设置字体 http://www.n4te.com/hiero/hiero.jnlp (java version) http://slick.cokeandcode.com/demos/hiero.jnl

JinGui 3337

COCOS2D-X字体描边

cocos2d-x3.16版本,原有的描边函数enableOutline会在渐出时出错,文字消失了描边停留在那里。 所以自己在网上找了个描边的函数,另修改了一部分,做成了一个COCOS2D的工具类。 LabelWithStroke.h #ifndef __LabelWithStroke_H__ #define __LabelWithStroke_H__ #i

guoyalon的博客 1400

Cocos2d-x在win平台下显示字体边缘有锯齿的

6/27号新进展:         大范围的重新改写,安全和性能上有更高的提高,但因涉及修改的文档比较多,有兴趣要的可以联系我本人索要。         近几天在玩弄ccx的时候发现在win下的字体显示有严重的锯齿问题,拜读了下win平台下的字体决方案,结果让我有些失望。ccx是采用win32 api将font画到DC上然后 GetDIBits取出位图数据经过处理放到位图数组中,锯

NekoCode 的记事本 3300

Cocos2d-x 3.0心得(03)-CocosBuilder扩展自定义参数

cocosbuilder是比较方便的工具,不过功能未免有点落后了,今天就碰到个问题。cocos2dx 3.0的LabelTTF是可以设置阴影、轮廓效果的,但是builder里没有相应的设置。不过还好builder扩展性还不错,所以就自己动手加吧。 首先是定义一个新的loader,就叫MyLabelTTFLoader吧: class MyLabelTTFLoader : public Label

SingleWizard的专栏 1494

cocos2dx开发者指南:UI控件使用

综述 Cocos2d-x提供了一套易于使用的UI API来满足你的GUI需求,其中包括:Label、Menu、MenuItems、Buttons和Views。 Label(标签) Cocos2d-x中提供了Label(标签)对象来创建TTF、BMFont和SystemFont文本。 Label BMFont(BMFont标签) BMFont是使用位图字体的标签类型。位

学无止境! 无休无止! 4360

Cocos2d-x 3.9教程:7. Cocos2d-x中的控件

Cocos2d-x 3.9教程: 7. Cocos2d-x中的控件 1.1. Button 按钮的使用,详见“4.4按钮的基本使用及9宫格缩放”。 1.2. 旋钮控件ControlPotentiometer 旋钮控件,由“底座图片”、“进度条图片”和“控制按钮图片”3部分组成。如下图:   在界面上的最终效果: 初始状态: 拖动时状态: 具体代码如下: ControlPo

tiancao222的博客 2315

cocos2dx 3.x 之 字体是怎么渲染的

我们以Label为例,Cocos2d-x 提供的 Label 对象可以使用位图字体,TrueType 字体,系统字体创建。tips:enableWrap(true) 当文本长度大于Label设置width后会自动换行。

u014686778的博客 1350

cocos2dx 字体发光_cocos2dx[3.2](14)——新字体标签Label

【唠叨】在3.x中,废弃了2.x里的LabelTTF、LabelAtlas、LabelBMFont三个字体类,取而代之的是全新的字体标签Label。实际上Label是将三个字体类进行了融合,进行统一的管理与渲染,这使得创建字体标签Label的方式更加统一,更加方便。本节来学习一下3.x中新的标签类Label,如果对2.x中的三个字体类不了的话,建议先去看看那三个类的用法,再来学习本节内容,能够更...

weixin_30417063的博客 532

cocos2dx中的文字显示

cocos2d-x 中添加显示文字的三种方式 LabelTTF 、LabelBMFont 和 LabelAtlas 在 cocos2d-x 中有三个类可以在层或灵中添加文字: LabelTTFLabelBMFontLabelAtlas LabelTTF 直接支持使用 TTF 字库,可以支持全部的中文,但是效率稍低。LabelBMFont 适合显示特定的文字,通过预先将文字生成图片,提高

Jayson520的专栏 1372

Cocos2d-X中的字体

Cocos2d-X中显示文本的方式有下面三种: CCLabelTTF: 使用系统字体,每个字符串会生成一个纹理,显示效率比较低下,适合不变化的文字 CCLabelAtlas: 使用NodeAtlas优化渲染,适合经常变化的数字,比如分数,金钱之类的数字 CCLabelBMFont: 使用CCSpriteBatchNode,很灵活,每个字符都是一个灵,可以对每个字符进行操作,直接

meishadevs的个人博客 4732

cocos2d-x学习总结—文字按钮

#include "HelloWorldScene.h" #include "SimpleAudioEngine.h" using namespace cocos2d; using namespace CocosDenshion; CCScene* HelloWorld::scene() { // 'scene' is an autorelease object CCScene

在路上 5213

cocos2d-x Label几种字体分析

cocos2d-x Label几种字体分析

kkk 3117

cocos2dx 字体发光_cocos2d-x位图字体生成工具bmfont使用图文教程 美术字使用

bmfont工具1.14 官方最新版类型:编程辅助大小:358KB语言:英文 评分:10.0标签:立即下载在看别人的代码的时候,有时候会发现.fnt文件,这个文件是如何产生的呢,其实是使用位图处理工具bmfont生成的!本文的重点就是命令行,如果用过这个工具的,可以直接看最后一条命令行~如果是高手,直接跳过本文吧对于Bitmap Font Generator的使用方法网上的也有很多文章进行了说明,...

weixin_39848953的博客 242

cocos2dx ttf字体 android,cocos2dx 字体文件、cocos2dx的ttf字体显示

类型:编程辅助大小:4.6M语言:中文 评分:10.0标签:立即下载1.一些概念ttf:true type font 它是用曲线方式描述字体轮廓,因此都可以输出很高质量的字形,即放大缩小看起也很清晰bitmap font : 点阵字体 位图字体atlas:词典意思是地图集, 我想它是用来表示多个图片拼在一起的感觉,2.cocostudio中控件中相应的字体Button:要求ttf格式字体,如果需要...

weixin_35651102的博客 258

cocos2d-x滚动文字(一)

这一两个月挺忙的,没时间来写点东西。现在项目交付了,可以空出点时间来总结一下在用cocos2d-x写游戏的时候遇到的一些问题。下面进入主题。 接下几篇要完成的事: 一,简单显示字符串 二,控制字符串的空格,换行等 三,在规定的矩形框内显示字符串 四,滚动字符串 一,显示文字有两种方法:      一种用图片,把文字写入图片,显示这张图片即可,这样的方法要修改的话是很不方便,当然,

kuovane的专栏 4001

cocos2dx3.2 Label 自动换行,各种label创建方式,描边,阴影,发光等;

原文地址:http://shahdza.blog.51cto.com/2410787/1560612 【唠叨】 在3.x中,废弃了2.x里的LabelTTF、LabelAtlas、LabelBMFont三个字体类,取而代之的是全新的字体标签Label。 实际上Label是将三个字体类进行了融合,进行统一的管理与渲染,这使得创建字体标签Label的方式更加统一,更加...

TheClimb的池塘 1072

cocos2dx 字体发光_cocos2d-x位图字体生成工具bmfont怎么使用

ABOUTYOU在看别人的代码的时候,有时候会发现.fnt文件,这个文件是如何产生的呢,其实是使用位图处理工具bmfont生成的!本文的重点就是命令行,如果用过这个工具的,可以直接看最后一条命令行~如果是高手,直接跳过本文吧对于Bitmap Font Generator的使用方法网上的也有很多文章进行了说明,但是可能并不够全面!本文可能也没有那么全面,但是绝对有新颖的地方。首先,说下为什么要使用...

weixin_39695490的博客 257

Cocos2d-x 文字显示

Cocos2d-x 文字显示 声明:本文分析的是cocos2d-x-3.12的代码 cocos底层使用的是OpenGL进行页面渲染,但OpenGL并支持文字的处理,OpenGL主要是用于图像和3D模型的渲染。为了支持文字的渲染,cocos会将文字转换成要显示的图片,然后通过OpenGL把图片显示出来。 cocos2d-x 3.x中支持四种文字的处理,都实现在Lable类中,对应了Lab...

Wlk1229 3549
上一篇: cmd255command.executereader()打印连接错误_win7连接打印机提示错误0x00000002的解决教程...
下一篇: echarts x轴 名称_前端小白在asp.net core mvc中使用ECharts
唯我一心
博客等级 码龄7年 22粉丝 72原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值