请问如何用一张图片实现循环滚屏,cocos2dx

时间:2022-11-29 10:14:13
请问如何用一张图片实现循环滚屏的效果,用cocos2dx 请问如何用一张图片实现循环滚屏,cocos2dx

6 个解决方案

#1


该回复于2013-05-21 16:39:45被管理员删除

#2


用两个Sprite,一个是正常方向,第二个翻转X轴,拼接在一起,然后同时往左移动,当第一张移出屏幕的时候把第一张移动到第二张后面就可以了

#3


这样两个动作连接处会有明显的卡屏

#4


请问如何用一张图片实现循环滚屏,cocos2dx

#5


background1->setPositionY(background1->getPositionY()-2); //每次下移动2个单位
//第二张紧随第一张
background2->setPositionY(background1->getPositionY()+background1->getContentSize().height);
if (background2->getPositionY()==VisibleRect::leftBottom().y){
//当第二张背景到左下角时,第一张替换上来
background1->setPositionY(VisibleRect::leftBottom().y);
}

#6


不知道你的图片的高度是多大,算出需要几张背景图才能填满手机屏幕,然后再update函数中写for循环,遍历背景图,每一次让背景图的Y值减小一点,然后判断当前Y的值,当小于﹣0.5Y的时候就重新赋值Y给这个背景图。

#1


该回复于2013-05-21 16:39:45被管理员删除

#2


用两个Sprite,一个是正常方向,第二个翻转X轴,拼接在一起,然后同时往左移动,当第一张移出屏幕的时候把第一张移动到第二张后面就可以了

#3


这样两个动作连接处会有明显的卡屏

#4


请问如何用一张图片实现循环滚屏,cocos2dx

#5


background1->setPositionY(background1->getPositionY()-2); //每次下移动2个单位
//第二张紧随第一张
background2->setPositionY(background1->getPositionY()+background1->getContentSize().height);
if (background2->getPositionY()==VisibleRect::leftBottom().y){
//当第二张背景到左下角时,第一张替换上来
background1->setPositionY(VisibleRect::leftBottom().y);
}

#6


不知道你的图片的高度是多大,算出需要几张背景图才能填满手机屏幕,然后再update函数中写for循环,遍历背景图,每一次让背景图的Y值减小一点,然后判断当前Y的值,当小于﹣0.5Y的时候就重新赋值Y给这个背景图。