6 个解决方案
#1
#2
用两个Sprite,一个是正常方向,第二个翻转X轴,拼接在一起,然后同时往左移动,当第一张移出屏幕的时候把第一张移动到第二张后面就可以了
#3
这样两个动作连接处会有明显的卡屏
#4
#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);
}
//第二张紧随第一张
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
#2
用两个Sprite,一个是正常方向,第二个翻转X轴,拼接在一起,然后同时往左移动,当第一张移出屏幕的时候把第一张移动到第二张后面就可以了
#3
这样两个动作连接处会有明显的卡屏
#4
#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);
}
//第二张紧随第一张
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给这个背景图。