Cocos2d-x游戏开发之CCLabelTTF标签详解之Create方法(设置自动换行的标签)和换行符的巧妙使用(十六)(高级篇) (转)

转载 2013年12月04日 16:29:47

转自:http://blog.csdn.net/wisdom605768292/article/details/12929741


在上面的一篇文章之中,我们讲解了标签的对齐方式,设置后,可以固定标签的位置,向固定的方向增加内容,就像是写字一样的。

好的,问题来了,写字的时候,当一行足够填写内容的时候,上面的方法是OK的;当我们要显示一段文字的时候呢,这时候就需要自动换好多行来

适应我们的屏幕,来逐行显示。

囿于我们学习时候的经验,很容易认为CCLabelTTF只能显示单行的文本,但是这是不完全正确的。

我们的一段文本的显示,换行还是需要这个标签来实现。

好的,下面我们先来看下需要使用的api。


  1. /** creates a CCLabelTTF from a fontname, horizontal alignment, dimension in points,  and font size in points. 
  2.      @since v2.0.1 
  3.      */  
  4.     static CCLabelTTF * create(const char *string, const char *fontName, float fontSize,  
  5.                                const CCSize& dimensions, CCTextAlignment hAlignment);//第三参数,标签纹理的尺寸;第四参数,标签横向对齐方式  
  6.     
  7.     /** creates a CCLabel from a fontname, alignment, dimension in points and font size in points 
  8.      @since v2.0.1 
  9.      */  
  10.     static CCLabelTTF * create(const char *string, const char *fontName, float fontSize,  
  11.                                const CCSize& dimensions, CCTextAlignment hAlignment,   
  12.                                CCVerticalTextAlignment vAlignment);  


这里有2个api。我们这里只是演示第一个api的使用,其他的可以自己在这个基础之上在进行学习。


这里有一段测试文本:

(流泪)兄弟,你骂的正是,我越亦消逝的理想是需要有人激发的,你愿意跟我切磋切磋吗?我想更大程度的激发我心中的小宇宙。

好的,我们这里需要把他显示在我们的手机上面(显示多行文本的时候,很需要的)。


示例代码如下:

  1. string language = "(流泪)兄弟,你骂的正是,我越亦消逝的理想是需要有人激发的,你愿意跟我切磋切磋吗?我想更大程度的激发我心中的小宇宙。  
  2. ";  
  3.     //获取屏幕尺寸  
  4.     CCSize visibleSize = CCDirector::sharedDirector()->getWinSize();  
  5.     //设置标签纹理的字体和大小,纹理尺寸和横向对齐方式为剧中对齐  
  6.     CCLabelTTF *ttf = CCLabelTTF::create("","Zapfino",30,CCSizeMake(visibleSize.width-50,visibleSize.height-50),kCCTextAlignmentCenter);  
  7.     this->setPosition(visibleSize.width/2,visibleSize.height/2);  
  8.     this->addChild(ttf,1);  
  9.     ttf->setString(language.c_str());  


效果贴图如下:




好的,时间有限,第一个问题解决。


Cocos2d-x游戏开发之CCLabelTTF标签详解之Create方法(设置自动换行的标签)和换行符的巧妙使用(十六)(高级篇)

在上面的一篇文章之中,我们讲解了标签的对齐方式,设置后,可以固定标签的位置,向固定的方向增加内容,就像是写字一样的。 好的,问题来了,写字的时候,当一行足够填写内容的时候,上面的方法是OK的;当我们要...
  • wisdom605768292
  • wisdom605768292
  • 2013年10月22日 02:10
  • 7453

struts2标签换行问题

在默认情况下,表单元素是分布在不同行的。如下代码: 我们看着以上的代码跟HTML的差不了多少,但是因为struts2表单默认将表单内的每一个元素都分在单独的 一行,label属性就如...
  • u014482758
  • u014482758
  • 2015年04月28日 10:49
  • 1668

Android根据标签长度自动换行

我们在APP中经常看到这样的效果: 这是美团的热门搜索界面,里面罗列出了长度不等的标签,应用会根据标签的长度自动换行,比如第一行有3个标签,而第二行只有2个标签,这篇文章就来讲下如何实现这种效果,...
  • gesanri
  • gesanri
  • 2015年10月08日 09:38
  • 2714

CCLabelTTF的多行显示(仅限中文)

这个标题叫setDimensions的坑更贴切。缘起想要弄个自动换行的对话框功能,就想到了如何自动换行。 看到一个叫setDimensions的函数,设置可以显示的区域,超出部分进行换行.在网上找过...
  • nynyvkhhiiii
  • nynyvkhhiiii
  • 2013年11月27日 16:58
  • 7144

HTML常用标签(font,标题标签 ,段落标签,水平线,换行)一

1.font标签:
  • u010853130
  • u010853130
  • 2017年02月06日 13:50
  • 1288

Android自动换行标签

总结了一下Android中如何实现自动换行的LinearLayout。 在本文中,说是LinearLayout其实是继承自GroupView,在这里主要重写了两个方法,onMeasure、onL...
  • u010547228
  • u010547228
  • 2015年11月19日 15:17
  • 348

基于RelativeLayout实现自动换行标签控件

在开发中,我们有时会遇到显示标签的功能。比如做社交app,用户有标签;做电商app,商品也同样有标签......显示标签时,我们需要一次展示出多个标签,但是单个标签的字数可能不同,当一行不足以容纳时,...
  • ruancoder
  • ruancoder
  • 2016年08月04日 01:32
  • 2376

HTML换行符和水平线

换行符 在一个标签内某处添加换行符,相当于在该处进行换行; 举例: 添加换行符前, About Us Mr Green's Smelly Fish Emporium prides ...
  • twc829
  • twc829
  • 2016年05月05日 16:40
  • 497

Android LinearLayout中TextView标签项自动换行的一种解决方案

在一些项目中,比如搜索,广告热门关键词dengd
  • freesonhp
  • freesonhp
  • 2014年08月26日 17:32
  • 18093

Java利用POI生成Excel强制换行

最近在做导出excel时需要在单元格进行强制换行,
  • sanyuesan0000
  • sanyuesan0000
  • 2014年05月26日 13:58
  • 17721
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Cocos2d-x游戏开发之CCLabelTTF标签详解之Create方法(设置自动换行的标签)和换行符的巧妙使用(十六)(高级篇) (转)
举报原因:
原因补充:

(最多只允许输入30个字)