3.4 常用的两种 layer 层 3.7 字体与文本
3.4 常用的两种 layer 层
//在cocos2d-x中,经常使用到的两种 layer 层 : CCLayer 和 CCLayerColor
//CCLayer 的创建
CCLayer* layer = CCLayer::create();
//CCLayerColor 的创建
CCLayerColor* layerColor = CCLayerColor::create(const cocos2d::ccColor4B &color); //RGBO
/*
注意:
新创建的 CCLayer 和 CCLayerColor 层如果没有手动设置其大小,默认是当前设备的宽高作为 layer 的尺寸
CCLayer 与 CCLayerColor 虽然默认锚点是 (0.5, 0.5), 坐标(0, 0),但是创建后的层总是充满屏幕的
*/
3.7 字体与文本
在使用字体的时候需要注意, CCLabelTTF 每调用 setString 改变显示字符串的时候,一个新
的OPENGL纹理将会创建。也就意味着调用 setString 函数和创建一个新的文本一样慢。
∴ 频繁 更新时 建议尽可能不使用 CCLabelTTF 对象, 考虑使用 CCLabelAtlas 或 CCLabelBMFont.
//CCLabelTTF 、CCLabelAtlas 、CCLabelBMFont
/*1.CCLabelTTF*/
CCLabelTTF::create(const char* string, const char* fonName, float fontSize);
//参数1:需要显示的字符串 参数2:字体名称 参数3:字体大小
CCLabelTTF::create();
//默认无参创建,默认使用字体类型 Helvetica
//常用函数为: setString(const char* label);
/*2.CCLabelAtlas*/
//常用函数 setString(const char *label); setColor(const ccColor3B& color)
CCLabelAtlas::create(const char* string, const char* charMapFile, unsigned int itemWidth, unsigned int itemHeight, unsigned int startCharMap);
//作用:利用一张字体图片资源来创建一个 CCLabelAtlas 对象
//参数 1:需要显示的字符串
//参数 2:文字图片资源名称
//参数 3:每个文字的宽
//参数 4:每个文字的高
//参数 5:字体起始标示
CCLabelAtlas::create(const char* string, const char* fntFile);
//作用:利用加载字体配置文件,来创建一个 CCLabelAtlas 对象
//参数 1:需要显示的字符串
//参数 2:字体配置文件的名称
/*3.CCLabelBMFont*/
CCLabelBMFont::create(const char* str, const char* fntFile);
//参数 1:需要显示的文字
//参数 2:字体资源文件的名称
//示例代码
//---------------CCLabelTTF
CCLabelTTF* pLabel = CCLabelTTF::create("visionFont", "Thonburi", );
CCLabelTTF* pLabel2 = CCLabelTTF::create();
pLabel2->setFontSize();
pLabel2->setString("visionFont");
//---------------CCLabelAtlas
CCLabelAtlas* label = CCLabelAtlas::create("visionFontAtlas", "testFont.png", , , ' ');
label->setColor(ccc3(, , ));
CCLabelAtlas* label2 = CCLabelAtlas::create("visionFontAtlas2", "testfont.plist");
label2->setString("");
//---------------CCLabelBMFont
CCLabelBMFont* labelBM = CCLabelBMFont::create("stand up font", "testFont.fnt");
3.4 常用的两种 layer 层 3.7 字体与文本的更多相关文章
- web 中常用的两种上传文件的方法总结
这里我们来总结整理一下常用的两种文件上传方式以及要注意的东西: 1.springmvc .MultipartFile 的上传方式. 2.org.apache.commons.fileupload 使用 ...
- java 获取键盘输入常用的两种方法
java 获取键盘输入常用的两种方法 方法1: 通过 Scanner Scanner input = new Scanner(System.in); String s = input.nextLine ...
- 最常用的两种C++序列化方案的使用心得(protobuf和boost serialization)
导读 1. 什么是序列化? 2. 为什么要序列化?好处在哪里? 3. C++对象序列化的四种方法 4. 最常用的两种序列化方案使用心得 正文 1. 什么是序列化? 程序员在编写应用程序的时候往往需要将 ...
- spring 中常用的两种事务配置方式以及事务的传播性、隔离级别
一.注解式事务 1.注解式事务在平时的开发中使用的挺多,工作的两个公司中看到很多项目使用了这种方式,下面看看具体的配置demo. 2.事务配置实例 (1).spring+mybatis 事务配置 &l ...
- java操作excel常用的两种方式
Excel是我们平时工作中比较常用的用于存储二维表数据的,JAVA也可以直接对Excel进行操作,在这篇博客中将为大家介绍两种操作Excel的方式,分别为:jxl和poi. 对于两者的区别网上有测试如 ...
- TF之RNN:TF的RNN中的常用的两种定义scope的方式get_variable和Variable—Jason niu
# tensorflow中的两种定义scope(命名变量)的方式tf.get_variable和tf.Variable.Tensorflow当中有两种途径生成变量 variable import te ...
- apache常用的两种工作模式 prefork和worker
apache作为现今web服务器用的最广泛也是最稳定的开源服务器软件,其工作模式有许多中,目前主要有两种模式:prefork模式和worker模式 一.两种模式 prefork模式: prefork是 ...
- java:常用的两种设计模式(单例模式和工厂模式)
一.单例模式:即一个类由始至终只有一个实例.有两种实现方式(1)定义一个类,它的构造方法是私有的,有一个私有的静态的该类的变量在初始化的时候就实例化,通过一个公有的静态的方法获取该对象.Java代码 ...
- 常用的两种web单点登录SSO的实现原理
单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任.单点登录在大型网站里使用得 ...
随机推荐
- 面向对象高级编程——使用__slots__
正常情况下,我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性.先定义class: >>> class Student ...
- MySQL数据库(8)_MySQL数据库总结
sql语句规范 sql是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言. 在使用它时,只需要发出“做什么” ...
- PsySH——PHP交互式控制台
PsySH PsySH is a runtime developer console, interactive debugger and REPL for PHP. PsySH是一个PHP的运行时开发 ...
- Nginx负载均衡案例
nginx负载均衡配置,windows版本和linux版本的nginx除了启动方式其他基本无差异. 1.Niginx安装 参考:https://www.cnblogs.com/zwcry/p/9454 ...
- Shell编程之运算
一.变量的数值计算 1.算术运算符 常用的运算符号 常用的运算命令 (1)双小括号 基本语法 1)利用"(())"进行简单运算 [root@codis-178 ~]# echo $ ...
- Windos Server 2008 Backup 安装使用
系统环境:Windos 2008 R2 x64 实施方案:备份系统 完全备份,每周备份一次,备份文件映射到文件服务器. 安装备份工具 使用Windos Sserver Backup 做备份 设置每周备 ...
- linux+java+webdriver chrome handless无界面启动
网上现有的解决方案要么是windows下的,要么是python的,搞了一天终于解决了,记录如下. 1 下载chrome linux版和对应版本的webdriver,我这里使用的是chrome66和ch ...
- Swift中的? ! as as? as!
?: 代表这是个可选类型(optional)的.如下,如果num有就为Int类型的,如果没有值那么就是nil. let num:Int? 当我对number进行显示赋值时那么number就是Int类型 ...
- word导出失败问题
1.问题分析: 求职者在线填写招聘简历,人事hr下载简历无法打开,报错如下: 对于”根据架构,xml数据无效”,是因为没有成功生产xml,内部代码里还包含word无法识别的代码块,所以无法打开,通过用 ...
- 【51nod1519】拆方块[Codeforces](dp)
题目传送门:1519 拆方块 首先,我们可以发现,如果第i堆方块被消除,只有三种情况: 1.第i-1堆方块全部被消除: 2.第i+1堆方块全部被消除:(因为两侧的方块能够保护这一堆方块在两侧不暴露) ...