【cocos2d-x 手游研发小技巧(2)循环无限滚动的登陆背景】
原创文章,转载请附上链接:http://www.cnblogs.com/zisou/p/cocos2d-xARPG6.html
首先让大家知道我们想要实现的最终效果是什么样的?
看一个《逆天仙魔录》例子图:

就是一个连贯循环的背景图,如何让他无间隔的循环连贯跑起来,这里我们利用了定时器schedule方法;
定时器功能有无限循环的功能,那么我们运用这个功能主要是拿来循环刷帧的!
我们先准备一下效果图,如下:

这个背景图够长吧?而且它两边已经被我们的美工做成可循环连接的了,所以我们只需要程序把它循环起来。
具体代码如下:
制造背景的方法
void LoginScenes::makebd(float num,int w,int tag)
{
float x,y;
CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
CCSize size = CCDirector::sharedDirector()->getWinSize();
x = size.width;
y = size.height+origin.y; CCSprite *background=CCSprite::create(p_loginallbd);
background->setAnchorPoint(CCPoint(,0.5));
background->setPosition(CCPoint(background->getContentSize().width*num+w,y/));
this->addChild(background,tag,tag);
}
循环背景的方法
void LoginScenes::movebd(float times)
{
float x,y;
CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
CCSize size = CCDirector::sharedDirector()->getWinSize();
x = size.width;
y = size.height+origin.y; CCNode *bg1=CCNode::getChildByTag();
CCSprite *sp1=(CCSprite*)bg1; CCNode *bg2=CCNode::getChildByTag();
CCSprite *sp2=(CCSprite*)bg2;
sp1->setPosition(CCPoint(sp1->getPositionX()-0.5,sp1->getPositionY()));
sp2->setPosition(CCPoint(sp2->getPositionX()-0.5,sp2->getPositionY()));
if(sp1->getPositionX()<=-sp1->getContentSize().width)
{
sp1->setPosition(CCPoint(sp1->getContentSize().width,y/));
}
if(sp2->getPositionX()<=-sp2->getContentSize().width)
{
sp2->setPosition(CCPoint(sp2->getContentSize().width,y/));
}
}
ok,以上两个函数就能完成,就差最后一句话了就搞定了:
this->schedule(schedule_selector(LoginScenes::movebd));
然后我们看一下效果:


【cocos2d-x 手游研发小技巧(2)循环无限滚动的登陆背景】的更多相关文章
- 【cocos2d-x 手游研发小技巧(6)聊天系统+字体高亮】
转载请注明出处:http://www.cnblogs.com/zisou/p/cocos2dxJQ-6.html 聊天系统在手机网游中是最常见的交互工具,大家在一起边玩游戏边聊天岂不乐哉: 废话不多了 ...
- 【cocos2d-x 手游研发小技巧(8)通讯的数据压缩与解压 】
今天说一下手机游戏通讯协议中的数据问题,大量的数据将给服务器端和客户端带来很大的压力,一般来说. 转载请注明出处:http://www.cnblogs.com/zisou/p/cocos2dxJQ-8 ...
- 【cocos2d-x 手游研发小技巧(1)自定义制作怪物伤害数值】
直插主题了,今天写了一下午,早就想要写这类似东西的,首先我不会选用CCLabelAtlas了,我直接用帧图片做. 首先我们要准备素材,我先把素材帖出来给大家: 这个是一张比较全的素材图,它包含了扣血的 ...
- 【cocos2d-x 手游研发小技巧(7)图片资源加密,Lua文件加密】
游戏开发中常遇到资源保护的问题. 目前游戏开发中常加密的文件类型有:图片,Lua文件,音频等文件,而其实加密也是一把双刃剑. 需要安全那就得耗费一定的资源去实现它.目前网上也有用TexturePack ...
- 【cocos2d-x 手游研发小技巧(5)获取网络图片缓存并展示】
今天是年前最后一天上班了,最后一天上班,祝大家马上有各种东西,最后一天也给写一点干货,就是获取网络图片: 经过自己简单封装了一下,实现了获取网络图片,按照比例展示出来,实现方法是cocos2dx - ...
- 【cocos2d-x 手游研发小技巧(4)与Android混编实现换“头像图片”】
cocos2dx在android平台上的游戏开发中往往会遇到一些混编需求,如: 比方有的社区类游戏需要用到更换玩家的“头像”操作,其实就是调用android servers服务里面的本地图片,以及选取 ...
- 【cocos2d-x 手游研发小技巧(3)Android界面分辨率适配方案】
先感叹一下吧~~android的各种分辨率各种适配虐我千百遍,每次新项目我依旧待它如初恋···· 每家公司都有自己项目工程适配的方案,这种东西就是没有最好,只有最适合!!! 这次新项目专项针对andr ...
- 【cocos2d-x 手游研发----目录】
感谢大家一直支持我写这样一系列的博客,从中我自己也获益良多,cocos2d-x这样一款非常棒的引擎,是值得我们去学习和分享的,谈到分享,那我就把这套写了差不多一两个月的框架给大家开源下载,写的很一般, ...
- 【cocos2d-x 手游研发----地图活起来了】
谈到地图不少人都说要做地图编辑器了,但是我暂时绕过这一步,如果不用寻路地图就不能移动?寻路就是会绕过障碍物的算法. 我做了一个简单的地图的思想,就是地图分层3层:背景层.可行区域层.遮罩层,但是地图就 ...
随机推荐
- OC 里面 webView与js
webView与js的交互流程吗,iOS端暴露函数 ,js直接调用 [链接]WKWebView-如何通过JS调用OC方法 https://www.jianshu.com/p/68f799d6679e ...
- IIS支持IPA、APK文件的下载
IIS里MIME类型中默认是没有ipa,apk文件的,所以无法直接通过网络下载. 解决方法如下: 1.打开IIS信息服务管理器,选中自已的网站,在右边面板中找到MIME类型. 2.双击打开,点击右 ...
- [PHP] constant variable
print: 3.13 PI 3.14
- UEdit百度富文本编辑器
1.下载地址:http://ueditor.baidu.com/website/download.html 2.引入js/css/语言包 3.表单id设置 3.js代码
- Laravel 日期时间处理包 Carbon 的应用
在编写 PHP 应用时经常需要处理日期和时间,这篇文章带你了解一下 Carbon – 继承自 PHP DateTime 类的 API 扩展,它使得处理日期和时间更加简单.Laravel 中默认使用的时 ...
- DB2 like两个表的字段或like一个变量
DB2中的like的使用是有限制的,它后面不能跟一个变量或者是字段,因此,在存储过程或SQL语句中就不能like一个变量或一个字段. 比如有两个表A(a,b,c,d),B(a,b,c,d). 普遍的用 ...
- python的介绍和及基本的使用
一 什么是计算机 1 计算机就是由一堆硬件组成的一个机器. 2 硬件的分类: CPU:犹如人类的大脑,运行着需要运行的程序. 内存:将 CPU要运行的内容从硬盘中读取出来,然后CPU在内存里拿内容,只 ...
- Django入门与实践-第16章:用户登录(完结)
# myproject/settings.py LOGIN_REDIRECT_URL = 'home' EMAIL_BACKEND = 'django.core.mail.backends.conso ...
- Netty学习第六节实例一步学习
NIO与传统IO对应使用的类: ServerSocketChannel相当于ServerSocket SocketChannel 相当于Socket Selector是NIO的核心类,是负责监听Ser ...
- Hadoop分布式远程Debug方式
1.进入目录修改配置文件 cd /cloud/hadoop-2.2.0/etc/hadoop vim hadoop-env.sh2.加入内容(文本最后): #远程调试NameNode export H ...