CCLabelTTF 如何支持换行符和换行
参考自http://www.cocos2d-x.org/wiki/How_does_CCLabelTTF_support_line_breaks_and_wrapping
环境:
cocos2d-x version: cocos2d-2.1rc0-x-2.1.4
函数介绍
我们要讨论的函数是:
static CCLabelTTF * create(const char *string, const char *fontName, float fontSize,const CCSize& dimensions, CCTextAlignment hAlignment);
参数:
const char *string:您将在文本中绘制的标签
const char *fontName: 字体名称
float fontSize: 字体大小
const CCSize& dimensions:你希望的标签大小
CCTextAlignment hAlignment:标签的文本水平对齐方式
返回值:返回指针类型的CCLabelTTF
标记:另一个使用了不同参数的create().
static CCLabelTTF * create(const char *string, const char *fontName, float fontSize);
如果您使用此函数,参数CCSize& dimensions的值是CCSizeZero,参数CCTextAlignment hAlignment的默认值是kCCTextAlignmentCenter。
支持换行符和换行
标签看起来像什么取决于标签内容大小,而内容的大小取决于参数const char string和const CCSize& dimensions.所以,关键是如何通过参数const char string和const CCSize& dimensions计算的标签内容大小.
我们这样子处理不同情况:
- • 参数const CCSize& dimensions等于CCSizeZero
- 1. 标签内容大小自动计算的。
- 2.不换行,完整显示标签,。
- • 参数const CCSize& dimensions只指定宽度。
- 1. 标签宽度等于dimensions.width,标签高度将自动计算。
- 2.支持换行,并将完整显示标签。
- • 参数const CCSize& dimensions指定宽度和高度。
- 1. 标签内容大小等于参数CCSize& dimension.
- 2. 如果标签不能完全显示在指定的大小内,标签将截断不可见区域。
例子
CCLabelTTF *ttf=CCLabelTTF::create("This is a sentence longer than a line width.\nCocos2d-x", "Thonburi", 20, CCSizeMake(0, 0), kCCTextAlignmentCenter);
CCLabelTTF *ttf=CCLabelTTF::create("This is a sentence longer than a line width.\nCocos2d-x", "Thonburi", 20, CCSizeMake(200, 0), kCCTextAlignmentCenter);
CCLabelTTF *ttf=CCLabelTTF::create("This is a sentence longer than a line width.\nCocos2d-x", "Thonburi", 20, CCSizeMake(200, 43), kCCTextAlignmentCenter);
CCLabelTTF 如何支持换行符和换行的更多相关文章
- SQL的查询结果复制到Excel 带标题Head 有换行符导致换行错乱 的解决方案
将SQL查询到的结果保存为excel有很多方法,其中最简单的就是直接复制粘贴了 1.带Head的复制粘贴 1)先左击红色区域实现选择所有数据 2)随后右击选择Copy with Headers 再粘 ...
- js 事件函数中的参数带换行符或换行标签都不能起作用的解决方法
把问题参数值赋给标签的属性data-value,通过属性值获取参数值.
- SQL列中含有换行符的查找和替换方法
最近在获取数据时,发现程序读取的字段中含有\r\n字符,检查数据库表中的数据,发现是varchar字符串中包含了换行符.导入数据导致了这一情况出现. 回车换行 不同系统的行结尾符号并不同,如下: li ...
- 替换换行符:回车换行CR/LF
windows采用回车+换行CR/LF表示下一行,UNIX/Linux使用换行符LF表示下一行,MAC OS系统使用用回车符CR表示下一行. CR使用符号'\r'表示, ASCII码是13: LF使用 ...
- python字符串 常用函数 格式化字符串 字符串替换 制表符 换行符 删除空白 国际货币格式
# 字符串常用函数# 转大写print('bmw'.upper()) # BMW# 转小写print('BMW'.lower()) # bmw# 首字母大写print('how aae you ?'. ...
- Qt5_vs2013_error_C2001: 常量中有换行符__资料
ZC: Win7x64 + Qt551(x86) + vs2013(x86) ZC: 问题:UTF-8 在源码文件中有中文时,有时会报编译错误:C2001 & C2143 分析: --> ...
- sqlserver数据库 去除字段中空格,换行符,回车符(使用replace语句)
SQL中可以使用Replace函数来对某个字段里的某些字符进行替换操作,语法如下: 语法 REPLACE ( original-string, search-string, replace-strin ...
- THINKPHP 清除HTML注释、换行符、空格、制表符等
thinkphp3.2 3.2中取消了配置文件中的 'TMPL_STRIP_SPACE' 属性,所以我们先来修改:\ThinkPHP\Library\Think\Template.class.php ...
- SQL替换空格,制表符,换行符,回车符.
首先是空格的替换,很重要的有点是,要确保字段的类型,不是char或nchar等固定的类型,否则无法去掉空格. 去掉空格很简单,如下为SQL实例: --去掉 T_StuffBasic 表中FBranch ...
随机推荐
- android usb Host模式下与usb Hid 设备的通信
做android 与USB HID设备的通信有段时间了,总结一下遇到的问题和解决方法: 1,第一次遇到的问题:android 版本低不支持usb hid, 被要求做相关项目的时候,就从mUsbMana ...
- 对于Unicode编码在js中和html中
1.对于Unicode在js中 var a="\u9102WQW121" 中"\"是需要转义的,直接在页面输出的效果
- Strut2 和Spring MVC 文件上传对比
在Java领域中,有两个常用的文件上传项目:一个是Apache组织Jakarta的Common-FileUpload组件 (http://commons.apache.org/proper/commo ...
- 关于Python中的设计模式
http://www.oschina.net/question/107361_25331 单例模式:Python 的单例模式最好不要借助类(在 Java 中借助类是因为 Java 所有代码都要写在类中 ...
- java1.8的几大新特性(一)
一.接口的默认方法与静态方法,也就是接口中可以有实现方法 public class Test { public static void main(String[] args) { Formula a= ...
- win2003+IIS6+PHP5.3.8+MSSQL2008的安装配置
- Mysql常用show命令,show variables like xxx 详解,mysql运行时参数
MySQL中有很多的基本命令,show命令也是其中之一,在很多使用者中对show命令的使用还容易产生混淆,本文汇集了show命令的众多用法. 详细: http://dev.mysql.com/doc/ ...
- DOM(文本对象模型)简介
DOM(文本对象模型)简介 在正式开始介绍jQuery处理XML前我们来了解一些必备的基础知识. DOM是HTML或者XML结构的一种展现形式,通过编程对DOM进行修改可以达到修改HTML/XML的目 ...
- 使用Spring MVC 的表单控制器SimpleFormController
以注册过程为例,我们可能会选择继承AbstractController来实现表单的显示,继承AbstractCommandController来实现表单的处理 ,这样是可行的,但必须要维护两个控制器 ...
- 【HTML】Beginner9:Form
1.Form Collect data inputted by a user. Used as an interface for a web application,or send d ...