cocos2dx 背景用小尺寸图片滚动填充的方法
直接上代码
在初始化方法中添加图片:
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 背景用小尺寸图片滚动填充的方法相关推荐
- pytorch中利用pillow批量修改数据集图片分辨率,并对分辨率较小的图片进行填充处理
承接上篇关于对数据集的处理,往往我们在收集图片数据时,其分辨率大小是不同的,而对于神经网络来说,最好训练集的图片能够是一致的分辨率,因此利用此代码可以批量处理图片的分辨率,将其统一为同一的分辨率,并且 ...
- [css] 为什么说不提倡用1px的小尺寸图片做背景平铺?
[css] 为什么说不提倡用1px的小尺寸图片做背景平铺? 因为明明可以用background-color就能搞定的事情为什么要用图片? 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, ...
- 网页特效——图片翻页和图片滚动的实现方法
1. 图片翻页特效: 效果:多张图片逐个翻页显示,也可用鼠标点击图片区域下方的页码手动翻页.每张图片上都可添加链接引向不同位置的帖子. 演示:在专刊盛世奥运之奢华盘点上半部分中间"华美谢幕& ...
- 设置背景图时防止图片拉伸的解决方法
在设置背景图时,如果图片不够大会被拉伸,使图片失真,如果图片太大会对view控件的显示造成影响. 如果只是在ImageView中设置图片的话,在程式中可以利用setScaleType进行动态设定,在x ...
- 小程序图片转Base64,方法总结。
小程序图片转base64 前言:看了很多博客没一个能解决问题的,小程序社区也逛了个遍,依然找不到小程序图片在本地转base64的方法,凡事还得靠自己啊,接下来就把所有方法做个总结,作为一个野生程序员, ...
- 写个Vue小组件,图片滚动
VueImgSlider A simple Img slider component 提供简单跑马灯效果 循环无间歇滚动 水平和垂直 demo github地址 npm install vueImgS ...
- 用java处理图片(压缩成小尺寸;加文字和logo水印)
/***功能:压缩图片变成小尺寸*** *参数1:oImage:原图:* *参数2:maxWidth:小尺寸宽度:* *参数3:maxHeight:小尺寸长度:* *参数4:newImageName: ...
- css 如何让背景图片拉伸填充避免重复显示
如何让背景图片拉伸填充,这个问题听起来似乎很简单.但是很遗憾的告诉大家.不是我们想的那么简单. 比如一个容器(body,div,span)中设定一个背景.这个背景的长宽值在css2.1之前是不能被修 ...
- html背景图片内填充,CSS基础——使用图片填充元素背景
在网页设计中,使用图片来填充元素背景,可以让元素背景呈现丰富多彩的外观.使用图片填充元素背景的常用样式标签有background-image.background-repeat.background- ...
最新文章
- 利用System.Uri转URL为绝对地址
- “双十一”即来 电商如何开启安全大战?
- 【转】BMP图像文件格式
- 中国连续十年成马来西亚最大贸易伙伴
- Redis分布式锁实战
- ffmpeg抓取rtsp流并保存_详细解析RTSP框架和数据包分析(1)
- 电脑删除的文件怎么恢复?你要找的方案
- Java并发包JUC的Lock锁讲解
- 创建List的应用小结
- 【贪心】蓝桥2019:最大降雨量
- AcWing 1855. 愤怒的奶牛(枚举+暴力)
- Node+Express实现文件的上传下载与删除
- Systrace的工作原理
- 计算机软件工程电脑配置,软件工程专业所需电脑配置。
- DSP TMS320C6455 中断解析
- C# PGM格式图像与BMP格式图像相互转换
- php怎么安装ecshop,ECSHOP4.0安装教程【ECSHOP4.0安装流程方法】ECSHOP4.0安装步骤-ECSHOP教程网...
- 学习《图说设计模式》建造者模式
- 阿里巴巴集团增持阿里影业股权完成交割
- HDOJ I NEED A OFFER! 1203
热门文章
- vue-cookies使用方法,vue中使用获取cookie
- USB基础与重点梳理—关于USB的问题
- WangEdit富文本编辑器增加上传视频功能
- [html] const nums1 = [1, 2, 2, 1], nums2 = [2] 交集是什么?
- PS教程第十一课:会打开 会关闭我回了
- [css] 有哪些方式可以对一个DOM设置它的CSS样式?
- [css] 让你手写一个reset的文件,你应该怎么写?要考虑哪些方面呢?
- 前端学习(2245)vue值造轮子之需求设计
- “约见”面试官系列之常见面试题第十八篇之深拷贝和浅拷贝得区别(建议收藏)
- 前端学习(512):两列布局的第一种方式的优缺点