cocos2d-x 滚动文字(遮挡)(三)

来源:互联网 发布:淘宝品牌申请要多久 编辑:程序博客网 时间:2024/05/02 02:07

上一篇是用CCRenderTexture来实现字符串的遮挡效果。下面用CCLabelTTF里的labelWithString和setTextureRect来实现字符串的滚动效果。

Demo下载地址:http://download.csdn.net/detail/lansong4/4759556

一,字符串显示的过程:

        首先把文字画到一段内存中,然后根据这段数据生成纹理,纹理自然是跟精灵那些一样的。这个纹理的长宽是由labelWithString的第二参数CCSize决定的,如

CCSizeMake(200,200),那么长为200,宽也为200.cocos2d-x里实现了根据宽来换行的,但是不知道字符串的长度有多大,所以得自己算出字符串的高度。

setTextureRect这个方法是指显示区域,这样画图的时候会拷贝这个显示区域到label位置的目的屏幕上,可简单这样理解。值得注意的是,label的描点得设置为

cpp(0,0),如label->setAnchorPoint(ccp(0,0)),,默认是居中的,居中不好处理的。

可根据setTextureRect的第一个参数控制左右滚动,第二个参数来控制上下滚动。Demo里只事例了上下的控制。

      更多的细节可看看demo里面的实现,这里把大概的思路及其原理简单的说下。

原创粉丝点击