zoukankan      html  css  js  c++  java
  • cocos2d-x 滚动文字(二)

    http://blog.csdn.net/kuovane/article/details/8131789

    首先送上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动态写到画布里即可实现滚动文字了。

  • 相关阅读:
    开博了,将会定期更新博客
    C++实验二
    C++实验三
    c++第八章课后题
    c++第八章复数运算
    我的第一篇Window Live Writer日志
    Item 3: Prefer the is or as Operators to Casts(选择is或者as操作符而不是做强制类型转换)
    C# 中list的排序
    CodeSmith的应用
    using 关键字
  • 原文地址:https://www.cnblogs.com/hewei2012/p/3365136.html
Copyright © 2011-2022 走看看