直接上代码

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

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(0,0));bgCell1->setPosition(ccp(0,0));this->addChild(bgCell1);bgSprintArr->addObject(bgCell1);int flipCount=visibleSize.width/sprintSize.width+1;//多加一张图片用来滚动替换for(int i=0;i<flipCount;i++){bgCell2 = CCSprite::createWithSpriteFrame(frameCache->spriteFrameByName("bgCell.png"));bgCell2->setAnchorPoint(ccp(0,0));bgCell2->setPosition(ccp(sprintSize.width*(i+1)-(1+i),0));if(i%2==0)    //偶数
        {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);}}}}  }

完美实现无缝拼接滚动.

转载于:https://www.cnblogs.com/taoys/p/3532215.html

cocos2dx 背景用小尺寸图片滚动填充的方法相关推荐

  1. pytorch中利用pillow批量修改数据集图片分辨率,并对分辨率较小的图片进行填充处理

    承接上篇关于对数据集的处理,往往我们在收集图片数据时,其分辨率大小是不同的,而对于神经网络来说,最好训练集的图片能够是一致的分辨率,因此利用此代码可以批量处理图片的分辨率,将其统一为同一的分辨率,并且 ...

  2. [css] 为什么说不提倡用1px的小尺寸图片做背景平铺?

    [css] 为什么说不提倡用1px的小尺寸图片做背景平铺? 因为明明可以用background-color就能搞定的事情为什么要用图片? 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, ...

  3. 网页特效——图片翻页和图片滚动的实现方法

    1. 图片翻页特效: 效果:多张图片逐个翻页显示,也可用鼠标点击图片区域下方的页码手动翻页.每张图片上都可添加链接引向不同位置的帖子. 演示:在专刊盛世奥运之奢华盘点上半部分中间"华美谢幕& ...

  4. 设置背景图时防止图片拉伸的解决方法

    在设置背景图时,如果图片不够大会被拉伸,使图片失真,如果图片太大会对view控件的显示造成影响. 如果只是在ImageView中设置图片的话,在程式中可以利用setScaleType进行动态设定,在x ...

  5. 小程序图片转Base64,方法总结。

    小程序图片转base64 前言:看了很多博客没一个能解决问题的,小程序社区也逛了个遍,依然找不到小程序图片在本地转base64的方法,凡事还得靠自己啊,接下来就把所有方法做个总结,作为一个野生程序员, ...

  6. 写个Vue小组件,图片滚动

    VueImgSlider A simple Img slider component 提供简单跑马灯效果 循环无间歇滚动 水平和垂直 demo github地址 npm install vueImgS ...

  7. 用java处理图片(压缩成小尺寸;加文字和logo水印)

    /***功能:压缩图片变成小尺寸*** *参数1:oImage:原图:* *参数2:maxWidth:小尺寸宽度:* *参数3:maxHeight:小尺寸长度:* *参数4:newImageName: ...

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

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

  9. html背景图片内填充,CSS基础——使用图片填充元素背景

    在网页设计中,使用图片来填充元素背景,可以让元素背景呈现丰富多彩的外观.使用图片填充元素背景的常用样式标签有background-image.background-repeat.background- ...

最新文章

  1. 利用System.Uri转URL为绝对地址
  2. “双十一”即来 电商如何开启安全大战?
  3. 【转】BMP图像文件格式
  4. 中国连续十年成马来西亚最大贸易伙伴
  5. Redis分布式锁实战
  6. ffmpeg抓取rtsp流并保存_详细解析RTSP框架和数据包分析(1)
  7. 电脑删除的文件怎么恢复?你要找的方案
  8. Java并发包JUC的Lock锁讲解
  9. 创建List的应用小结
  10. 【贪心】蓝桥2019:最大降雨量
  11. AcWing 1855. 愤怒的奶牛(枚举+暴力)
  12. Node+Express实现文件的上传下载与删除
  13. Systrace的工作原理
  14. 计算机软件工程电脑配置,软件工程专业所需电脑配置。
  15. DSP TMS320C6455 中断解析
  16. C# PGM格式图像与BMP格式图像相互转换
  17. php怎么安装ecshop,ECSHOP4.0安装教程【ECSHOP4.0安装流程方法】ECSHOP4.0安装步骤-ECSHOP教程网...
  18. 学习《图说设计模式》建造者模式
  19. 阿里巴巴集团增持阿里影业股权完成交割
  20. HDOJ I NEED A OFFER! 1203

热门文章

  1. vue-cookies使用方法,vue中使用获取cookie
  2. USB基础与重点梳理—关于USB的问题
  3. WangEdit富文本编辑器增加上传视频功能
  4. [html] const nums1 = [1, 2, 2, 1], nums2 = [2] 交集是什么?
  5. PS教程第十一课:会打开 会关闭我回了
  6. [css] 有哪些方式可以对一个DOM设置它的CSS样式?
  7. [css] 让你手写一个reset的文件,你应该怎么写?要考虑哪些方面呢?
  8. 前端学习(2245)vue值造轮子之需求设计
  9. “约见”面试官系列之常见面试题第十八篇之深拷贝和浅拷贝得区别(建议收藏)
  10. 前端学习(512):两列布局的第一种方式的优缺点