`
473687880
  • 浏览: 484085 次
文章分类
社区版块
存档分类
最新评论

【玩转cocos2d-x之十六】滚动字幕和公告

 
阅读更多

原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/12991977


滚动字幕和公告是游戏中经常使用到的元素,本文大致写一下实现方法,至于例子中具体的坐标值,请不要纠结。。。这和美工关系还是蛮大的。我PS技术太搓了。。。


1.原理

其实它们的实现都是简单的通过调用update来更新位置达到的移动效果,和背景滚动有点类似,一旦滚动结束就重置为起点,开始新的滚动。只是为了达到在某个区域内滚动而不至于超出这个区域,有时候会用一些前景图来做遮盖,所以这个时候其实字幕或者公告是有在后面滚动的,但是被遮住了,因此看起来就像是只在某个区域内滚动。以垂直字幕滚动为例说明,如下图。



2.实现

不要纠结以下各精灵坐标位置:)

  1. boolCTestLayer::init()
  2. {
  3. boolbRet=false;
  4. do
  5. {
  6. CC_BREAK_IF(!CCLayer::init());
  7. CCSizevisibleSize=CCDirector::sharedDirector()->getVisibleSize();
  8. CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("ui_serverlist.plist");
  9. //垂直滚动字幕
  10. CCSprite*listbase=CCSprite::createWithSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("login_listbase.png"));//bottom底图
  11. listbase->setPosition(ccp(visibleSize.width/2,visibleSize.height/2+10));
  12. this->addChild(listbase);
  13. text1=CCLabelTTF::create("1.Hi!WelcometoJackyStudio,\nMyBlogis\nblog.csdn.net/jackystudio!\n2.Hi!WelcometoJackyStudio,\nMyBlogis\nblog.csdn.net/jackystudio!\n3.Hi!WelcometoJackyStudio,\nMyBlogis\nblog.csdn.net/jackystudio!\n4.Hi!WelcometoJackyStudio,\nMyBlogis\nblog.csdn.net/jackystudio!","Arial",12);//middle文本
  14. text1->setHorizontalAlignment(kCCTextAlignmentLeft);//左对齐
  15. text1->setAnchorPoint(ccp(0.5,1));
  16. text1->setPosition(ccp(visibleSize.width/2,visibleSize.height/2-55));
  17. this->addChild(text1);
  18. CCSprite*fg=CCSprite::create("fg.png");//top前景
  19. fg->setPosition(ccp(visibleSize.width/2,visibleSize.height/2));
  20. this->addChild(fg);
  21. //水平滚动公告
  22. CCSprite*textbase=CCSprite::createWithSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("login_textbase.png"));
  23. textbase->setPosition(ccp(visibleSize.width/2,50));
  24. textbase->setScaleX(2.5f);
  25. this->addChild(textbase);
  26. text2=CCLabelTTF::create("Hi!WelcometoJackyStudio,MyBlogisblog.csdn.net/jackystudio!","Arial",12);
  27. text2->setPosition(ccp(visibleSize.width+text2->getContentSize().width/2,50));
  28. text2->setColor(ccc3(255,0,0));//红色字体
  29. this->addChild(text2);
  30. this->scheduleUpdate();//执行更新
  31. bRet=true;
  32. }while(0);
  33. returnbRet;
  34. }
  35. voidCTestLayer::update(floatdelta)
  36. {
  37. CCSizevisibleSize=CCDirector::sharedDirector()->getVisibleSize();
  38. intnewY=text1->getPositionY()+1;
  39. if(newY==500)//如果滚动到这个位置,重置
  40. {
  41. newY=visibleSize.height/2-55;
  42. }
  43. text1->setPositionY(newY);
  44. intnewX=text2->getPositionX()-1;
  45. if(newX<=-text2->getContentSize().width/2)//如果滚动到这个位置,重置
  46. {
  47. newX=visibleSize.width+text2->getContentSize().width/2;
  48. }
  49. text2->setPositionX(newX);
  50. }


3.效果

这个效果有点小bug,就是文字覆盖到边框上了,这是因为没有把边框做在top层上导致的,实际使用注意这个问题即可。




4.源码下载

http://download.csdn.net/detail/jackyvincefu/6434549

分享到:
评论

相关推荐

    Cocos2d-x实战:JS卷——Cocos2d-JS开发

    资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...

    cocos2d-x-2.1.5

    cocos2d-x-2.1.5

    cocos2d-x 滚动字幕和公告

    cocos2d-x 滚动字幕和公告 cocos2d-x v2.2.0

    cocos2d-x事件类

    在使用cocos2d-x开发游戏的过程中,为了实现逻辑和显示相分离。 在下通宵了一个晚上,写出了该事件类。 谨记,该事件只能用于cocos2d-x中。 事件发送者需要继承EventDispatcher类 事件接收者需要继承EventHandle类...

    大富翁手机游戏开发实战基于Cocos2d-x3.2引擎

    资源名称:大富翁手机游戏开发实战基于Cocos2d-x3.2引擎内容简介:李德国编著的《大富翁手机游戏开发实战(基于 Cocos2d-x3.2引擎)》使用Cocos2d-x游戏引擎技术,带领读者一步一步从零开始进行大富翁移动游戏的开发...

    Cocos2d-x高级开发教程

    Cocos2d-x是移动跨平台开发最流行的游戏引擎,而本书是一本很全面的、比较‘接地气’的游戏开发教程。书中汇聚了热门手机游戏《捕鱼达人》开发的实战经验,作者从最基础的内容开始,逐步深入地介绍了Cocos2d-x的相关...

    cocos2d-x实战项目

    cocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML文件读取与骨骼动画.rarcocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML...

    cocos2d-x-3.2旧版引擎下载

    cocos2d-x-3.2下载,不多说。或者可以下载另一个资源 cocos引擎老版本集合(cocos2d-x-2.2.1 - 3.5) http://download.csdn.net/download/crazymagicdc/9982656

    Cocos2D-X游戏开发技术精解

    资源名称:Cocos2D-X游戏开发技术精解内容简介:Cocos2D-X是一款支持多平台的 2D手机游戏引擎,支持iOS、Android、BlackBerry等众多平台。当前,很多移动平台流行的游戏,都是基于Cocos2D-X开发的。 《Cocos2D-X...

    cocos2d-x-3.0 类图

    这是我重新弄的cocos2d-x-3.0的类图.之前别人兄台弄的,有些不全面,有些地方错误.我这个可以说是最新的了.每个类添加了中文的详细注解,同时也添加了中文的类名称翻译.这样对cocos2d-x-3.0的框架比较好上手. 有兴趣的...

    经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip

    经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip

    精通COCOS2D-X游戏开发 基础卷_2016.4-P399-13961841.pdf

    精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发

    Cocos2D-X游戏开发技术精解.pdf

    《Cocos2D-X游戏开发技术精解》详细介绍如何使用Cocos2D-X引擎开发自己的移动平台游戏。全书共15章,主要内容包括:Cocos2D-X引擎简介;如何建立跨平台的开发环境;引擎的核心模块——渲染框架;如何实现动态画面和...

    Cocos2d-x 3.x游戏开发实战pdf含目录

    Cocos2d-x 3.x游戏开发实战pdf含目录,内容详细,强烈推荐给大家。

    Cocos2d-x-3.x游戏开发之旅

    Cocos2d-x-3.x游戏开发之旅-钟迪龙著 全新pdf版和附书代码(代码为工程文件,可复制) 附带目录标签

    cocos2d-x 3.0

    cocos2d-x 3.0 人物行走 . 包里有代码和 图片资源.

    cocos2d-x windows vs2010配置

    Cocos2d-x windows vs2010 配置图文详解

    Cocos2d-x实战 JS卷 Cocos2d-JS开发

    Cocos2d-x实战 JS卷 Cocos2d-JS开发 PDF 电子书完整版本

    cocos2d-x 动画工具 Flash2Cocos2d-x 1.3

    cocos2d-x 动画工具 Flash2Cocos2d-x 1.3

    Cocos2d-x游戏编程——C++篇 .iso

    Cocos2d-x游戏编程——C++篇(电子工业出版社,徐飞 著)书本配套的光盘代码,

Global site tag (gtag.js) - Google Analytics