参考自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. 1. 标签内容大小自动计算的。
    2. 2.不换行,完整显示标签,。
    3. • 参数const CCSize& dimensions只指定宽度。
    4. 1. 标签宽度等于dimensions.width,标签高度将自动计算。
    5. 2.支持换行,并将完整显示标签。
    6. • 参数const CCSize& dimensions指定宽度和高度。
    7. 1. 标签内容大小等于参数CCSize& dimension.
    8. 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 如何支持换行符和换行的更多相关文章

  1. SQL的查询结果复制到Excel 带标题Head 有换行符导致换行错乱 的解决方案

    将SQL查询到的结果保存为excel有很多方法,其中最简单的就是直接复制粘贴了 1.带Head的复制粘贴 1)先左击红色区域实现选择所有数据 2)随后右击选择Copy with Headers  再粘 ...

  2. js 事件函数中的参数带换行符或换行标签都不能起作用的解决方法

    把问题参数值赋给标签的属性data-value,通过属性值获取参数值.

  3. SQL列中含有换行符的查找和替换方法

    最近在获取数据时,发现程序读取的字段中含有\r\n字符,检查数据库表中的数据,发现是varchar字符串中包含了换行符.导入数据导致了这一情况出现. 回车换行 不同系统的行结尾符号并不同,如下: li ...

  4. 替换换行符:回车换行CR/LF

    windows采用回车+换行CR/LF表示下一行,UNIX/Linux使用换行符LF表示下一行,MAC OS系统使用用回车符CR表示下一行. CR使用符号'\r'表示, ASCII码是13: LF使用 ...

  5. python字符串 常用函数 格式化字符串 字符串替换 制表符 换行符 删除空白 国际货币格式

    # 字符串常用函数# 转大写print('bmw'.upper()) # BMW# 转小写print('BMW'.lower()) # bmw# 首字母大写print('how aae you ?'. ...

  6. Qt5_vs2013_error_C2001: 常量中有换行符__资料

    ZC: Win7x64 + Qt551(x86) + vs2013(x86) ZC: 问题:UTF-8 在源码文件中有中文时,有时会报编译错误:C2001 & C2143 分析: --> ...

  7. sqlserver数据库 去除字段中空格,换行符,回车符(使用replace语句)

    SQL中可以使用Replace函数来对某个字段里的某些字符进行替换操作,语法如下: 语法 REPLACE ( original-string, search-string, replace-strin ...

  8. THINKPHP 清除HTML注释、换行符、空格、制表符等

    thinkphp3.2 3.2中取消了配置文件中的 'TMPL_STRIP_SPACE' 属性,所以我们先来修改:\ThinkPHP\Library\Think\Template.class.php ...

  9. SQL替换空格,制表符,换行符,回车符.

    首先是空格的替换,很重要的有点是,要确保字段的类型,不是char或nchar等固定的类型,否则无法去掉空格. 去掉空格很简单,如下为SQL实例: --去掉 T_StuffBasic 表中FBranch ...

随机推荐

  1. android usb Host模式下与usb Hid 设备的通信

    做android 与USB HID设备的通信有段时间了,总结一下遇到的问题和解决方法: 1,第一次遇到的问题:android 版本低不支持usb hid, 被要求做相关项目的时候,就从mUsbMana ...

  2. 对于Unicode编码在js中和html中

    1.对于Unicode在js中 var a="\u9102WQW121" 中"\"是需要转义的,直接在页面输出的效果

  3. Strut2 和Spring MVC 文件上传对比

    在Java领域中,有两个常用的文件上传项目:一个是Apache组织Jakarta的Common-FileUpload组件 (http://commons.apache.org/proper/commo ...

  4. 关于Python中的设计模式

    http://www.oschina.net/question/107361_25331 单例模式:Python 的单例模式最好不要借助类(在 Java 中借助类是因为 Java 所有代码都要写在类中 ...

  5. java1.8的几大新特性(一)

    一.接口的默认方法与静态方法,也就是接口中可以有实现方法 public class Test { public static void main(String[] args) { Formula a= ...

  6. win2003+IIS6+PHP5.3.8+MSSQL2008的安装配置

  7. Mysql常用show命令,show variables like xxx 详解,mysql运行时参数

    MySQL中有很多的基本命令,show命令也是其中之一,在很多使用者中对show命令的使用还容易产生混淆,本文汇集了show命令的众多用法. 详细: http://dev.mysql.com/doc/ ...

  8. DOM(文本对象模型)简介

    DOM(文本对象模型)简介 在正式开始介绍jQuery处理XML前我们来了解一些必备的基础知识. DOM是HTML或者XML结构的一种展现形式,通过编程对DOM进行修改可以达到修改HTML/XML的目 ...

  9. 使用Spring MVC 的表单控制器SimpleFormController

    以注册过程为例,我们可能会选择继承AbstractController来实现表单的显示,继承AbstractCommandController来实现表单的处理 ,这样是可行的,但必须要维护两个控制器 ...

  10. 【HTML】Beginner9:Form

    1.Form     Collect data inputted by a user.     Used as an interface for a web application,or send d ...