Cocos2d-x在新版本号中增加了新的Label API。和以往不同的是,2.x的版本号是通过三个不同的类来创建不同的文本标签,而如今是模仿着精灵的创建方式。一个类创建不同形式的文本,只是核心内容还是差点儿相同的。

这是新的Label类结构图

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdzMzNzE5ODMwMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

在2.x的系列中。有三种文本,各自是TTF。BMFont和Atlas。在3.0中。将TTF拆分成两种。以下就分别看一下这四种文本的创建。

1.Label::createWithTTF

这是须要使用ttf格式字体文件的创建方式

TTFConfig config("fonts/Marker Felt.ttf", 25);

auto label1 = Label::createWithTTF(config, "Hello Cocos2d-x");
label1->setPosition(Point(size.width/2, size.height*0.8));
addChild(label1);

2.Label::createWithSystemFont

这是使用系统自带的字体进行创建,和原来2.x中的TTF类似

auto label2 = Label::createWithSystemFont("Hello Cocos2d-x", "Consolas", 25);
label2->setPosition(Point(size.width / 2, size.height*0.6));
addChild(label2);

注意第一个參数是须要显示的文本内容。第二个參数是系统字体

3.Label::createWithBMFont

通过静态字体文件创建文本的方式。生成fnt文件和相应的png图片

auto label3 = Label::createWithBMFont("fonts/helvetica-32.fnt", "Hello Cocos2d-x");
label3->setPosition(Point(size.width / 2, size.height*0.4));
addChild(label3);

4.Label::createWithCharMap

这个是和2.x中Atlas形式创建相应的。

只是这样的有两种形式匹配图片中的文字,一种是直接设置每一块字体的宽高数值获取,还有一种是通过fnt文件的方式。但原理都是一样的。

auto label4 = Label::createWithCharMap("fonts/tuffy_bold_italic-charmap.plist");
label4->setPosition(Point(size.width / 2, size.height*0.2));
addChild(label4);
label4->setString("Cocos2d-x"); auto label4 = Label::createWithCharMap("fonts/tuffy_bold_italic-charmap.png", 48, 66, ' ');
label4->setPosition(Point(size.width / 2, size.height*0.2));
addChild(label4);
label4->setString("Cocos2d-x");

以上四种形式创建出来的文本效果如图。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdzMzNzE5ODMwMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

此外。在create函数的其它重载形式中,另一些关于对齐方式的參数,这里就不介绍了。除了写法形式和原来不同,其表现结果都是一样的。

Cocos2d-x v3.0正式版尝鲜体验【3】 Label文本标签的更多相关文章

  1. Cocos2d-x v3.0正式版尝鲜体验【2】 Android平台移植

    今天没事又尝试了下3.0正式版关于Android平台的移植,把新建的项目移植了下.过程仅用了十分钟左右,什么概念?! 好吧,事实上我想说,这个版本号真的移植非常轻松啊,只是还没加上其它东西,只是就眼下 ...

  2. Cocos2d-x v3.0正式版尝鲜体验【1】 环境搭建和新建项目

    Cocos2d-x v3.0在前天最终公布正式版了,等了大半年最终出来了.一直没去碰之前的3.0各种beta,rc版本号,就想等正式版出来再尝试. 昨天也參加了触控科技在成都举办的沙龙活动.看到作者王 ...

  3. React Suite v3.0 正式版发布

    React Suite v3.0 正式版发布 相信很多人会好奇,React Suite 是什么? React Suite 是 HYPERS 前端团队和 UX 团队开源的一套基于 React 的 UI ...

  4. Cocos2d-x v3.0 正式版 如何创建一个项目,TestCpp执行

    欢迎增加 Cocos2d-x 交流群: 193411763 转载请注明原文出处:http://blog.csdn.net/u012945598/article/details/24456579 首先到 ...

  5. Flutter 1.0 正式版: Google 的便携 UI 工具包

    Flutter 1.0 正式版: Google 的便携 UI 工具包 文 / Tim Sneath,Google Dart & Flutter 产品组产品经理 Flutter 是 Google ...

  6. Flutter 1.0 正式版: Google 的跨平台 UI 工具包

    今天我们非常高兴的宣布,Flutter 的 1.0 版本正式发布!Flutter 是 Google 为您打造的 UI 工具包,帮助您通过一套代码同时在 iOS 和 Android 上构建媲美原生体验的 ...

  7. 【6年开源路】海王星给你好看!FineUI v4.0正式版暨《FineUI3to4一键升级工具》发布!

    去年10-28号,我发布了一篇文章<海王星给你好看!FineUI v4.0公测版发布暨<你找BUG我送书>活动开始>,标志着FineUI开始向4.0版本迈进.经过4个月3个公测 ...

  8. (Mac OS平台)升级.NetCore1.0正式版小记

    昨天终于发布了.NetCore1.0正式版.昨晚回去就顺手把手里的一个.NetCore项目升级了一下.还是遇到了一些问题,这里记录下吧. 1.Restore问题 这个问题一直都有,一直放那没去解决.主 ...

  9. .NET Core 2.0和ASP.NET Core 2.0正式版抢先体验

    .NET Core 2.0和ASP.NET Core 2.0正式版抢先体验 .NET Standard 2.0 is final Broad platform support. .NET Standa ...

随机推荐

  1. iOS进阶面试题----经典10道

    OneV‘s Den在博客里出了10道iOS面试题,用他的话是:"列出了十个应聘Leader级别的高级Cocoa/CocoaTouch开发工程师所应该掌握和理解的技术" .  在这 ...

  2. Java多线程-实例解析

    Java多线程实例 3种实现方法Java中的多线程有三种实现方式:1.继承Thread类,重写run方法.Thread本质上也是一个实现了Runnable的实例,他代表一个线程的实例,并且启动线程的唯 ...

  3. 【Java线程】volatile的适用场景

    http://www.ibm.com/developerworks/cn/java/j-jtp06197.html 把代码块声明为 synchronized,有两个重要后果,通常是指该代码具有 原子性 ...

  4. android launcher开发之图标背景以及默认配置

    1:然后我自己看了一下桌面图标的载入过程: 桌面第一次载入时是默认读取一个xml配置文件,完毕配置工作.这个配置文件在Launcher文件夹下, 路径是:\Launcher\res\xml\defau ...

  5. 你以为在用SharePoint但事实上不是

    博客地址 http://blog.csdn.net/foxdave 原文链接:http://www.techrepublic.com/blog/tech-decision-maker/you-thin ...

  6. C keyword register 并讨论共同使用嵌入式汇编

    C keyword register 并讨论共同使用嵌入式汇编 register 是C99 的keyword之中的一个. register 是储存类型之中的一个.这里仅讨论register 储存类型. ...

  7. DAG上的动态规划

    嵌套矩形问题(最长路及其字典序)有n个举行,选出尽量多的矩阵排成一排,使得除了最后一个之外,每一个矩形可以嵌套在下一个矩形内,并且打印 #include <iostream> #inclu ...

  8. Swift - 几种使用数组的数据存储模型

    在iOS游戏开发中,比如2048游戏.有时会需要存储N×N数组的数据模型(如3×3,4×4等).这里我们演示了三种实现方式,分别是:一维数组.仿二维数组.自定义二维数组(即矩阵结构). 功能是根据传入 ...

  9. Java_io体系之BufferedWriter、BufferedReader简介、走进源码及示例——16

    Java_io体系之BufferedWriter.BufferedReader简介.走进源码及示例——16 一:BufferedWriter 1.类功能简介: BufferedWriter.缓存字符输 ...

  10. 邮件应用Acompli和日历应用Sunrise(传微软曾考虑以80亿美元收购企业通讯公司Slack)

    http://tech.163.com/16/0305/10/BHCU8EHO000915BD.html http://www.cnbeta.com/articles/480835.htm