直接上代码

在初始化方法中添加图片:

bool BackGroundLayer::init()
{ frameCache=CCSpriteFrameCache::sharedSpriteFrameCache(); CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); bgCell1=CCSprite::createWithSpriteFrame(frameCache->spriteFrameByName("bgCell.png"));
bgSprintArr = CCArray::create();
bgSprintArr->retain(); bgSignArr=CCArray::create();
bgSignArr->retain(); CCSize sprintSize = bgCell1->getContentSize();
bgCell1->setAnchorPoint(ccp(,));
bgCell1->setPosition(ccp(,));
this->addChild(bgCell1);
bgSprintArr->addObject(bgCell1); int flipCount=visibleSize.width/sprintSize.width+;//多加一张图片用来滚动替换 for(int i=;i<flipCount;i++)
{
bgCell2 = CCSprite::createWithSpriteFrame(frameCache->spriteFrameByName("bgCell.png"));
bgCell2->setAnchorPoint(ccp(,));
bgCell2->setPosition(ccp(sprintSize.width*(i+)-(+i),));
if(i%==) //偶数
{
bgCell2->setFlipX(true);
}
this->addChild(bgCell2);
bgSprintArr->addObject(bgCell2);
}
return true;
}

在界面刷新方法里处理:

void RunBackGroundLayer::rollBg(float delta)
{
//CCSize mapSize = bgCell1->getContentSize();
//本次需要滚动的像素数
float moveX =delta/(1.0/60.0); CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
CCObject* obj=NULL;
CCSprite* bgCellTmp=NULL;
CCSize sprintSize = bgCell1->getContentSize();
//滚动和切换背景图片
CCARRAY_FOREACH(bgSprintArr,obj){
bgCellTmp=(CCSprite*)obj;
float moveXTo = bgCellTmp->getPositionX()-moveX;
bgCellTmp->setPositionX(moveXTo);
if(bgCellTmp->getPositionX()<-sprintSize.width)
{
bgCellTmp->setPositionX((bgSprintArr->count()-1)*sprintSize.width-(bgSprintArr->count()+1));
if(bgSprintArr->count()%2!=0)
{
if(bgCellTmp->isFlipX())
{
bgCellTmp->setFlipX(false);
}
else
{
bgCellTmp->setFlipX(true);
}
}
}
} }

完美实现无缝拼接滚动.

cocos2dx 背景用小尺寸图片滚动填充的方法的更多相关文章

  1. 百度小程序-图片画廊-使用previewImage方法实现

    .swan <!-- 轮播图 S--> <view class="swiper-box"> <swiper style='height:{{swipe ...

  2. css 如何让背景图片拉伸填充避免重复显示

    如何让背景图片拉伸填充,这个问题听起来似乎很简单.但是很遗憾的告诉大家.不是我们想的那么简单. 比如一个容器(body,div,span)中设定一个背景.这个背景的长宽值在css2.1之前是不能被修改 ...

  3. 微信小程序--图片相关问题合辑

    图片上传相关文章 微信小程序多张图片上传功能 微信小程序开发(二)图片上传 微信小程序上传一或多张图片 微信小程序实现选择图片九宫格带预览 ETL:微信小程序之图片上传 微信小程序wx.preview ...

  4. jquery图片滚动

    注:代码来自17sucai网,已去除部分冗余代码,只保留图片效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional// ...

  5. Android高级图片滚动控件,编写3D版的图片轮播器

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17482089 大家好,好久不见了,最近由于工作特别繁忙,已经有一个多月的时间没写博 ...

  6. 纯css实现div中未知尺寸图片的垂直居中

    1.淘宝的方法 在曾经的"淘宝UED招聘"中有这样一道题目: “使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中.” 当然出题并不是 ...

  7. 【Android开发学习46】Android平台切割PNG图片成小png图片

    功能描写叙述: 分解 assets 文件夹文件下的 PNG 图片成 各个小尺寸 PNG 图片 . 主函数运行: // 创建文件夹, 用来保存分解出来的图片 createPath("/sdca ...

  8. jQuery全能图片滚动插件

    插件开发背景 随着前端开发领域越来越受到重视,前端开发也变得越来越火热.各种优秀的前端组件层出不穷.尤其是jQuery插件,很多前端组件都是基于jQuery开开发的. 图片滚动是前端开发中可以说是非常 ...

  9. 求帮忙解决封装jquery图片滚动问题

    今天用jquery封装了点击图片滚动,但是发现在屏幕自适应时,图片停在的位置会随着屏幕大小而错位(我引入了pocketgrid.css响应式文件,但没办法去那边修改onsize事件...),求大神.. ...

随机推荐

  1. C++的笔记学习第一篇,认识C++

    在一个类中包含两种成员: 数据和函数,分别称为C++数据成员和成员函数. 关于类: 类是C++新增加的重要数据类型,有了类,就就可以实现面向对象程序设计方法中的封装.信息隐蔽.继承.派生.多态等功能. ...

  2. (四面体)CCPC网络赛 HDU5839 Special Tetrahedron

    CCPC网络赛 HDU5839 Special Tetrahedron 题意:n个点,选四个出来组成四面体,要符合四面体至少四条边相等,若四条边相等则剩下两条边不相邻,求个数 思路:枚举四面体上一条线 ...

  3. 第二百七十一天 how can I 坚持

    每天的内容应该是这个样子,做了什么,收获了什么,有哪些东西感动了你. 就像昨天看了个电影<解救吾先生>,看完没点感觉或感受是不可能的,刘德华扮演的吾先生最终获救,不仅仅是靠运气,多少还是因 ...

  4. Cocos2dx游戏源码合集(BY懒骨头+持续更新+2014.02.21)

    转自:http://blog.csdn.net/iamlazybone/article/details/19612941 声明: <萝莉快跑><喵汪大战>两个demo的原作者b ...

  5. Win7下使Users数据与程序分离

    大家知道,数据是用户最大的财富,但Windows系统默认的模式是将所有软件都安装在C盘,在Windows XP时代,数据文件夹会放在Document And Setting 目录下,在Win7时代,数 ...

  6. (转载)JDOM/XPATH编程指南

    JDOM/XPATH编程指南 本文分别介绍了 JDOM 和 XPATH,以及结合两者进行 XML 编程带来的好处. 前言 XML是一种优秀的数据打包和数据交换的形式,在当今XML大行于天下,如果没有听 ...

  7. 【转】Xcode 插件优缺点对比(推荐 20 款插件)

    [转自]http://www.cnblogs.com/dsxniubility/p/5099191.html 1.Alcatraz 类似于管理第三方库的cocoapods,管理插件也有个Alcatra ...

  8. HDU 5724 Chess (sg函数)

    Chess 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5724 Description Alice and Bob are playing a s ...

  9. Spring Autowiring by Type

    In Spring, "Autowiring by Type" means, if data type of a bean is compatible with the data ...

  10. [5] Zygote

    Android设备中的两大进程,如下图 1,由init进程创建的Daemon进程 2,由 Zygote进程创建的应用程序进程 什么是Zygote? zygote是“受精卵”的意思.在Android里, ...