cocos2d-x 滚动文字(二)

 

 上一篇写到用tinyxml来获取字符资源,下面介绍怎么显示滚动字符串

首先送上demo,下载地址为:demo下载地址

一,怎么在文字前面空两隔?只需在xml里的文字前面加俩个空格即可

二,怎么换行? 

1,CCLabelTTF::labelWithString(pStr,CCSizeMake(100,100),

hAlignment,fontName, m_fontSize);

第二个参数可控制字符串在这个框里面的显示,会自动换行。

2,遇到字符值为10也会换行

     当一篇文章,中间有很多段落,希望每一段后面都能换行,开始显示下一段,那么我们在每一段后面添加10即可实现换行。但是怎么在xml里每一段后面添加10呢,还未找到很好的方法,在里面我用\代表换行,读取xml的文字之后,把所有的\都换成数值10.那么怎么表示\呢,可以用连续两个\\表示一个字符\,demo里未实现这个。

三,怎么确定labelWithString第二个参数中的高的大小呢?可根据文字的size,asc字符个数,非asc个数来确定。比如文字的size为20,ascii字符为50,非ascii字符为200,可显示的宽为200,

则有 height = ( (20*200 + 10*50) / 200 +1 )* 20 = 460;

如果刚好整除了,那就不需要+1了。另外这个计算只对win32下面有效,在ios得视字符间隔及行间隔来精确计算。

上面有个问题是计算文字的个数,详见demo

四,当文字很多时,想滚动显示其中的一部分,那该怎么办呢?Demo里用的方法是

Cocos2d-x的CCRenderTexture,相当于一个画布,超出部分是不显示出来的,只需把label动态写到画布里即可实现滚动文字了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值