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动态写到画布里即可实现滚动文字了。
最新文章
- Java经典实例:处理单个字符串
- iOS:自己写的一个星级评价的小Demo
- OB命令大全
- java多线程浅谈
- auto_ptr解析
- hdu 2147 kiki's game 博弈论
- Android 进程和文件的UID/GID
- Linux学习笔记6——映射虚拟内存
- 搭建rac对单实例的MAA
- iOS面试题01-多线程网络
- WPF布局控件与子控件的HorizontalAlignment/VerticalAlignment属性之间的关系
- MySQL 视图技术
- 4.26 IO流
- 2、FreeRTOS任务相关API函数
- zoj 3871
- 十五、Facade 窗口设计模式
- Linux下针对服务器网卡流量和磁盘的监控脚本
- 操作防火墙-centos7
- shell脚本中 if 判断时候-s是什么意思
- [EF]数据上下文该如何实例化?
热门文章
- 【BZOJ】【2588】COT(Count On a Tree)
- curPos和tgtPos
- Unity3d游戏中添加移动MM支付SDK问题处理
- Linq to EF 与Linq to Object 使用心得
- POJ 1417 True Liars(种类并查集+dp背包问题)
- 2013 ACM-ICPC长沙赛区全国邀请赛——Bottles Arrangement
- VNC Server 配置
- *[codility]CartesianSequence
- 52. N-Queens II
- 8、SpringMVC源码分析(3):分析ModelAndView的形成过程